C# 从列表返回元组计数 列出道路 添加(新元组)(“第一”、“第二”,1); 添加(新元组)(“第一”,“第二”,2); 添加(新元组)(“第一个”、“第二个”、-5); 添加(新元组)(“第一”、“第二”、“3”);

C# 从列表返回元组计数 列出道路 添加(新元组)(“第一”、“第二”,1); 添加(新元组)(“第一”,“第二”,2); 添加(新元组)(“第一个”、“第二个”、-5); 添加(新元组)(“第一”、“第二”、“3”);,c#,linq,list,lambda,tuples,C#,Linq,List,Lambda,Tuples,需要显示item3t.Item3t.Item3t.Item3

需要显示item3<0的计数元组

我的变体(不正确):

var r roads.选择(t=>t.Item3<0).计数;

Linq提供了一个方法重载,该重载采用一个
函数
,并将计算满足该条件的元素数:

var r roads.Select(t => t.Item3 < 0).Count;
int countLessThanZero=roads.Count(t=>t.Item3<0);
或者,您可以先过滤列表,然后计算过滤列表中的元素数:

int countLessThanZero = roads.Count(t => t.Item3 < 0);
int countLessThanZero=roads.Where(t=>t.Item3<0.Count();

试着把select想象成某种类型的铸造操作员。所以你向布尔投球,数一数。正确的进近见@p.s.w.g
int countLessThanZero = roads.Count(t => t.Item3 < 0);
int countLessThanZero = roads.Where(t => t.Item3 < 0).Count();