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

Zee*_*nef 5 c# generics list count conditional-statements

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

我是这样做的:

int c = 0;
foreach (FilesToProcessDataModels item in ListfilesToProcess)
            {
                if (item.IsChecked == true)
                    c++;
            }
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*eet 16

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

int count = ListFilesToProcess.Count(item => item.IsChecked);
Run Code Online (Sandbox Code Playgroud)

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