C# 我需要计算解析Json后通过循环得到的值的总数,但可以';t使其与控制台应用程序一起工作)
我需要计算售出的图书数量,每本售出的图书都有一个状态:“已售出”(在JSON上)。 这就是我正在做的 1.我用这段代码解析数据,它工作得很好:C# 我需要计算解析Json后通过循环得到的值的总数,但可以';t使其与控制台应用程序一起工作),c#,json.net,C#,Json.net,我需要计算售出的图书数量,每本售出的图书都有一个状态:“已售出”(在JSON上)。 这就是我正在做的 1.我用这段代码解析数据,它工作得很好: RootObject myObj = JsonConvert.DeserializeObject<RootObject>(json); 那我打错电话了。我想学习如何使用Console应用程序实现这一点,这样我就不必使用ListBox并计算其项目。您可以使用以下linq查询: totalbooks = myObj.books.Count(bo
RootObject myObj = JsonConvert.DeserializeObject<RootObject>(json);
那我打错电话了。我想学习如何使用Console应用程序实现这一点,这样我就不必使用ListBox并计算其项目。您可以使用以下linq查询:
totalbooks = myObj.books.Count(book => book.status == "sold");
您可以使用以下linq查询:
totalbooks = myObj.books.Count(book => book.status == "sold");
将if嵌套到for循环中并再次测试。将if嵌套到for循环中并再次测试。交换
for
和if
语句:
int soldBooksCount = 0;
foreach(var book in myObj.books) {
if (book.status == "sold") {
soldBooksCount++;
}
}
label2.Text = soldBooksCount.ToString();
或者您可以使用:
using System.Linq;
// ...
label2.Text = myObj.books
.Where(book => book.status == "sold") // filters all books with status "sold"
.Count() // and counts them
.ToString();
有关和,请参阅文档。交换
以获得和如果语句:
int soldBooksCount = 0;
foreach(var book in myObj.books) {
if (book.status == "sold") {
soldBooksCount++;
}
}
label2.Text = soldBooksCount.ToString();
或者您可以使用:
using System.Linq;
// ...
label2.Text = myObj.books
.Where(book => book.status == "sold") // filters all books with status "sold"
.Count() // and counts them
.ToString();
查看文档中的和。切换if
和for
-循环浏览所有书籍,然后查看是否已售出totalbooks=
将覆盖totalbooks的值。您可能希望将totalbooks+=
添加到另一个:如果status
可以“出售”
,那么status.Count()
将返回字符串中的字符数(对于“出售”这将是4个)。是的,根据这里提供的所有答案,我意识到了我的错误并学到了一些新的东西。谢谢大家!切换if
和for
-循环浏览所有书籍,然后查看它是否已售出totalbooks=
将覆盖totalbooks的值。您可能希望将totalbooks+=
添加到另一个:如果status
可以“出售”
,那么status.Count()
将返回字符串中的字符数(对于“出售”这将是4个)。是的,根据这里提供的所有答案,我意识到了我的错误并学到了一些新的东西。谢谢大家!