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

C#如何通过LINQ按Name分组合并对象列表并对Salary字段求和

C# LINQ 按Name分组求和实现方案

实现逻辑

  • 调用GroupBy方法按Name字段对原列表分组
  • 对每个分组做投影:Key为分组对应的Name值,Salary通过Sum方法对分组内所有元素的Salary字段求和,Div取分组内第一个元素的Div值(匹配你示例中同Name对应同Div的场景)
  • 最后调用ToList生成新的List<someUi>实例

方法链写法

var result = list
    .GroupBy(x => x.Name)
    .Select(g => new someUi 
    {
        Name = g.Key,
        Salary = g.Sum(x => x.Salary),
        Div = g.First().Div
    })
    .ToList();

查询表达式写法

var result = (from item in list
             group item by item.Name into g
             select new someUi
             {
                 Name = g.Key,
                 Salary = g.Sum(x => x.Salary),
                 Div = g.First().Div
             }).ToList();

补充说明

如果实际业务场景中存在同Name对应不同Div的情况,可以将分组键修改为new {x.Name, x.Div}实现双字段分组,避免Div取值不符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 02:54:04