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

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

我是这样做的:

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

是否有任何更短的方式,如int c = ListfilesToProcess.count(item => item.IsChecked == true);

是的,使用LINQ的Count方法, 过载采用谓词 :

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

一般来说,每当你想要摆脱循环(或简化它)时,你应该看看LINQ。