如何根据多个条件计算列表中的项目数

时间:2014-05-07 20:57:23

标签: c# linq list

我有一个列表List<TestObj> testList

class TestObj
{
    public int type;
    public string phase; 
}

1 Phase1
1 Phase1
2 Phase1
2 Phase2

我想了解具体的类型和阶段。所以我尝试了这个

 var count = testList.Count(x=> x.type == 1 && x.phase.Equals("Phase1"));

我没有。

1 个答案:

答案 0 :(得分:5)

使用==进行C#中的比较。 = operator仅用于分配。

var count = testList.Count(x=> x.type == 1 && x.phase == "Phase1");

== Operator (C# Reference)

  

我没有。

你的代码甚至不会加入。

也许您正在使用==代替phase="phase1"。 C#区分大小写,您可以将String.EqualsStringComparison.CurrentCultureIgnoreCase

一起使用
var count = testList.Count(x=> x.type == 1 && "Phase1".Equals(x.phase, StringComparison.CurrentCultureIgnoreCase));