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 => number + = number,如果case是2 number- = number,我想用linq创建这个列表
例如,第三行中的第一行代码为1,大小写为1 number第三行加数字第一行,数字= 11
在第六行cod为1,case为2,则number减去,number = 10
code name number case
1 a 10 1
2 b 7 1
3 c 9 1
答案 0 :(得分:0)
这将做你想要的:
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)
});