如何检查列表中的所有元素是否对使用Linq的属性返回true?

the*_*row 5 c# linq

我想有一个LINQ语句调用属性IsValid.
如果所有元素都返回true,我希望语句也返回true.
怎么做到呢?

Ben*_*n M 16

var allValid = myList.All(item => item.IsValid);
Run Code Online (Sandbox Code Playgroud)


Sha*_*ahi 6

你可能想要保护或具体.Enumerable.All如果集合为空则返回true

var allValid = myList.Any() && myList.All(item => item.IsValid);
Run Code Online (Sandbox Code Playgroud)

看到这里为什么Enumerable.All为空序列返回true?


jba*_*all 5

您需要Enumerable.All <TSource>方法:

bool everythingsZen = anEnumerable.All(a => a.IsValid);
Run Code Online (Sandbox Code Playgroud)