获取多列的总和并从列表中汇总相同ID的值

时间:2013-04-17 23:22:03

标签: linq c#-4.0 asp.net-4.0

我有一个返回的列表。

Grade Col1 Col2  Col3  Col4
 t1   2    1      3     2
 t2   2    5      1     5
 t1   2    6      4     4 

首先,我需要在相应等级的每一行中添加值,以便我可以

Grade  Sum(Sum of the 4 columns)     
t1     8
t2     13
t1     16

最后我的结果应该是:

Grade   Total
t1      8+16 = 24
t2       13

我是Linq的新手。有人可以建议我使用Linq的方法来返回这个结果。??

由于

1 个答案:

答案 0 :(得分:0)

以下LINQ查询将按等级对所有行进行分组,然后为每个等级生成列的总和:

var query = from r in list
            group r by r.Grade into g
            select new {
               Grade = g.Key,
               Total = g.Sum(x => x.Col1 + x.Col2 + x.Col3 + x.Col4)
            };