【问题标题】:Lambda check if list contains certain property values on all propertiesLambda检查列表是否包含所有属性的某些属性值
【发布时间】:2012-11-28 14:11:35
【问题描述】:

在主题中很难解释,但我如何知道所有列表 x.someprop 是否与值 7 匹配?换句话说,如果下面的过滤器返回整个列表:

myList.Where( x => x.someprop == 7).ToList();

【问题讨论】:

    标签: c# asp.net linq lambda


    【解决方案1】:

    使用Enumerable.All

    bool result = myList.All( x => x.someprop == 7);
    

    【讨论】:

      【解决方案2】:

      您可以反转条件并使用Any

      bool areAllSeven = myList.Any(x => x.someprop != 7);
      

      【讨论】:

        【解决方案3】:

        你为寻找答案付出了多少努力?

        bool areAllEqualToSeven = myList.All( x => x.someprop == 7);
        

        【讨论】:

        • 是的,不知道怎么搜索这个
        • 我通常使用 IntelliSense 并提供文档来快速找到解决方案。
        • 是的,但我指的是我的问题:)
        【解决方案4】:

        方法名好记:All:

        bool allSeven = myList.All(x => x.someprop == 7);
        

        此方法不会返回集合的所有元素。相反,它确定集合的所有元素是否满足条件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-30
          • 2021-12-04
          • 1970-01-01
          • 1970-01-01
          • 2012-02-02
          • 1970-01-01
          相关资源
          最近更新 更多