如何使用 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
这将执行您想要的操作:
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)
});