如何使用 LINQ 合并列表和保留值

本文关键字:保留 列表 合并 何使用 LINQ | 更新日期: 2024-10-20 08:01:28

code    name     number    case
 1       a         5        1
 2       b         9        1
 1       a         6        1
 3       c         8        1
 2       b         1        1
 1       a         1        2
 2       b         3        2
 3       c         1        1

如果大小写是 1 => 个数字+=数字,如果大小写是 2 个数字-=数字,我想用 linq 创建这个列表

例如第三行代码中的第一个是 1,大小写是 1数字第三行加上数字第一行,数字=11

在第六行中,COD 是 1,大小写是 2 然后数字减去,数字=10

code    name     number    case
 1       a         10       1
 2       b         7        1
 3       c         9        1

如何使用 LINQ 合并列表和保留值

这将执行您想要的操作:

var result = dataList.GroupBy(x => x.Id).Select(grouping => new
{
     Id = grouping.First().Id,
     Name = grouping.First().Name,
     Number = grouping.Sum(x => x.CaseId == 2 ? -x.Number : x.Number)
});