通用列表,带有条件语句的项目计数

10

我有一个通用列表。它有一个ListfilesToProcess.Count属性,返回项目的总数,但我想使用条件语句计算列表中特定数量的项目。

我是这样做的:

int c = 0;
foreach (FilesToProcessDataModels item in ListfilesToProcess)
            {
                if (item.IsChecked == true)
                    c++;
            }

是否有更简短的方法,类似于int c = ListfilesToProcess.count(item => item.IsChecked == true);

(该代码是用于计算ListfilesToProcess列表中已选项的数量)
1个回答

29

使用LINQ的Count方法,带有谓词重载

int count = ListFilesToProcess.Count(item => item.IsChecked);

通常情况下,当您感觉想要摆脱循环(或简化它)时,您应该看看LINQ。


你的回复帮助我完成了以下操作:foreach(var item in Model.listOfObjects(t => t.ObjType == "M")。我在一个 MVC View 中使用它,其中我显示两个单独的 HTML 表格 - 一个用于男性(ObjType =“M”)学生,另一个用于女性(ObjType =“F”)。 - nam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接