Linq查询汇总到新列表

时间:2020-02-20 13:48:45

标签: c# linq

我想从第一个列表创建第二个列表,以按降序显示总和。

1st list :
     ID               Value
    1                  20
    2                  40
    3                  10

2nd List:
 ID               Value
1                  70
2                  50
3                  10

1 个答案:

答案 0 :(得分:1)

  var list1 = new [] { new { id = 1, Value = 20 },  new { id = 2, Value = 40 }, new { id = 3, Value = 10 } }.ToList();


        var list2 = list1.
                        Select(x => new { x.id, 
                                          Value = list1.Where(y => y.id >= x.id).Sum(z => z.Value) }).
                        OrderByDescending(x=>x.Value).ToList();