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

如何使用LINQ筛选出仅含宽度为100的分组对象列表?

需求与代码实现

数据与需求说明

我有一个包含column(int类型)和width(double类型)的对象集合,数据如下:

column (int)width (double)
0100
0105
1100
1100

需要筛选出所有width值均为100的分组中的对象,比如示例里column=1的分组,最终要得到包含该分组下两个对象的列表。

现有C#代码片段需要补充完成:

var result = title.GroupBy(c => c.Column).?

补充后的完整代码

通过Where过滤符合条件的分组,再用SelectMany展开分组内的对象即可实现需求:

var result = title.GroupBy(c => c.Column)
                  .Where(g => g.All(item => item.Width == 100))
                  .SelectMany(g => g)
                  .ToList();

代码说明

  • GroupBy(c => c.Column):按Column字段对对象进行分组
  • Where(g => g.All(item => item.Width == 100)):筛选出分组内所有对象的Width都等于100的分组
  • SelectMany(g => g):将符合条件的分组中的所有对象平铺为一个集合
  • ToList():将最终结果转换为List类型,得到目标对象列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:04:53