C# 如何检查所有等于A的属性B是否为true?

C# 如何检查所有等于A的属性B是否为true?,c#,lambda,C#,Lambda,我有一个班上的人,有两个属性,类型和IsDead。我想知道是否所有的男人都在死亡名单上 我用这种方式: if(myList.Where(x=> x.Genre == "MALE").All(x=> x.IsDeath == true)); 但我不知道是否有其他更好的选择,而不是使用where和set在all,Any中设置所有属性。。。功能 谢谢。你也可以 if(!myList.Any(x => x.Genre == "MALE" && !x.IsDeath))

我有一个班上的人,有两个属性,类型和IsDead。我想知道是否所有的男人都在死亡名单上

我用这种方式:

if(myList.Where(x=> x.Genre == "MALE").All(x=> x.IsDeath == true));
但我不知道是否有其他更好的选择,而不是使用where和set在all,Any中设置所有属性。。。功能

谢谢。

你也可以

if(!myList.Any(x => x.Genre == "MALE" && !x.IsDeath))
你也可以

if(!myList.Any(x => x.Genre == "MALE" && !x.IsDeath))

使用x.IsDeath==true与&&x.Genre==MALE使用x.IsDeath==true与&&x.Genre==MALE“OP想知道是否所有男人都死了如果任何男人死了,你的解决方案将返回true只需添加!在myList.Any之前(x=>x.Genre==“MALE”&&&!x.IsDeath)@S.Petrosov-这是非常“糟糕”且不可读的解决方案。只要使用
All
method我同意@Fabio。使用
!任何
都将强制它遍历整个序列,而使用
All
,它可以在找到未死亡的男性后立即停止迭代。而且所有的
都更容易阅读。@ChrisDunaway我同意
!任何
都很难理解。但是我不认为
任何
都会迫使它遍历整个序列。你对此有任何参考吗?因为根据这个()两者都是相同的。OP想知道如果所有的人都死了,你的解决方案将返回真的,如果有人死了,只需添加!在myList.Any之前(x=>x.Genre==“MALE”&&&!x.IsDeath)@S.Petrosov-这是非常“糟糕”且不可读的解决方案。只要使用
All
method我同意@Fabio。使用
!任何
都将强制它遍历整个序列,而使用
All
,它可以在找到未死亡的男性后立即停止迭代。而且所有的
都更容易阅读。@ChrisDunaway我同意
!任何
都很难理解。但是我不认为
任何
都会迫使它遍历整个序列。你对此有任何参考吗?因为根据这个()两者都是一样的。