【问题标题】:How do I get the console to print out the strings that are in the GetSet class?如何让控制台打印出 GetSet 类中的字符串?
【发布时间】:2022-08-18 19:48:04
【问题描述】:
HttpClient client = new HttpClient(); 
string URL = \"https://api.dictionaryapi.dev/api/v2/entries/en/\";
Console.WriteLine(\"Enter a word: \"); 
string Input = Console.ReadLine(); 
string response = await client.GetStringAsync(URL + Input);
List<GetSet> gs = JsonConvert.DeserializeObject<List<GetSet>>(response);

Console.ReadKey();    

  

public class GetSet 
{
   public string word {get; set;}
   public string origin {get; set;}
    
   public string definition {get; set;}
   public string partOfSpeech {get; set;}

}

我不想打印 URL 中的所有内容,只打印 GetSet 类中存在的字符串。我这辈子都想不通。任何帮助是极大的赞赏

  • 你有什么问题?您可能想从foreach 循环和Console.WriteLine 开始
  • 如果你override ToString() 那么你可以简单地做:foreach(var entry in gs){ Console.WriteLine(entry); }
  • 你能举一个控制台中预期输出的例子吗?

标签: c# class http


【解决方案1】:

通过使用Console.WriteLine 以及要打印的字符串。由于您使用的是列表,因此您必须单独处理该列表中的每个对象。 考虑这段代码。

foreach(var getset in gs)
{
    Console.WriteLine($"Word: {getset.word}");
}

我们遍历您使用JsonConvert.DeserializeObject&lt;List&lt;GetSet&gt;&gt;(response); 创建的GetSet 对象集合,并使用字符串插值($"" 语法)来创建字符串。然后我们将该字符串传递给 WriteLine,WriteLine 将该字符串作为一行文本输出到控制台中。

上面的一些变化,说明了创建和传递字符串的一些不同方式:

Console.WriteLine("someString");

Console.WriteLine(someVariable + "someString");

Console.WriteLine($"{someVariable} someString")

【讨论】:

    猜你喜欢
    • 2013-02-10
    • 2016-07-23
    • 1970-01-01
    • 2014-04-23
    • 2017-08-17
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多