You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何用LINQ统计嵌套列表里第3个元素≥50的子列表数量?

当然有更简洁高效的实现方式!用LINQ的Count方法就能把这段循环代码浓缩成一行,可读性和简洁性拉满:

int count = masterList.Count(subList => subList.ElementAt(2) >= 50);

简单拆解下这段代码:

  • Count方法接受一个谓词lambda表达式,会自动遍历masterList里的每个子列表
  • 对每个子列表,我们用ElementAt(2)获取它的第三个元素(因为C#索引从0开始),判断是否满足>=50的条件
  • 方法最终会直接返回所有符合条件的子列表数量

额外的细节优化:

如果你的子列表有可能元素数量不足3个(也就是不存在索引为2的元素),直接调用ElementAt(2)会抛出ArgumentOutOfRangeException。这种情况下可以先加个前置判断,避免异常:

int count = masterList.Count(subList => subList.Count() >= 3 && subList.ElementAt(2) >= 50);

另外,要是你的子列表实际是实现了IList<double>的类型(比如常用的List<double>),换成直接索引访问subList[2]会比ElementAt(2)更高效——因为ElementAt对于非IList的枚举类型需要遍历到指定索引位置,而直接索引访问是O(1)的操作:

int count = masterList.Count(subList => subList.Count() >= 3 && subList[2] >= 50);

内容的提问来源于stack exchange,提问作者DarthVegan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:23:46