【发布时间】:2016-06-01 17:27:44
【问题描述】:
您好,我有一个这样的数据表:
编号 金额 1 金额 2 金额 3 1 2 2 2 12 4 6 4 12 6 6 5 22 7 2 1 22 7 2 2我需要像这样获取我的数据表:
编号 金额 1 金额 2 金额 3 1 2 2 2 12 10 12 9 22 14 4 3我最初尝试在匿名方法中执行此操作,但我需要将其返回到另一个无法使用匿名方法完成的类。 我的第二次尝试是这样做,以便可以将其退回:
DataTable ddt = dt.AsEnumerable()
.Sum(g => g.Field<int>("Amount 1"))
.GroupBy(g => new { Col1 = g["ID"] })
.Select(g => g.OrderBy(r => r["ID"]).First())
.CopyToDataTable();
此代码肯定不会编译,但如果可能的话,任何帮助/建议将不胜感激。我对 linq 很陌生。
【问题讨论】:
-
如果使用得当,google 可以成为你最好的朋友
-
您需要先进行分组,然后在您的选择中进行每个总和。
标签: c# linq datatable group-by sum