代码之家  ›  专栏  ›  技术社区  ›  the_drow

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

  •  5
  • the_drow  · 技术社区  · 15 年前

    我想要一个调用属性的Linq语句是有效的。
    如果所有元素都返回true,我希望语句也返回true。
    怎么做?

    3 回复  |  直到 7 年前
        1
  •  14
  •   Ben M    15 年前
    var allValid = myList.All(item => item.IsValid);
    
        2
  •  6
  •   Sharad Shahi    7 年前

    你可能想要安全防护或者具体点。可枚举。如果集合为空,则all返回true

    var allValid = myList.Any() && myList.All(item => item.IsValid);
    

    看到这里 Why does Enumerable.All return true for an empty sequence?

        3
  •  5
  •   jball    15 年前

    你需要 Enumerable.All<TSource> method :

    bool everythingsZen = anEnumerable.All(a => a.IsValid);