【发布时间】:2018-11-02 10:07:29
【问题描述】:
在我的 C# 项目中的 DataTable 中,我需要对几列求和并显示聚合记录,但我无法为此创建过滤查询。
记录如下:
|Col1|Col2|Col3|Col4|
| A | X | 10 | 10 |
| A | X | 10 | 20 |
| A | Y | 12 | 12 |
| A | Y | 10 | 10 |
结果将是:
|Col1|Col2|Col3|Col4|
| A | X | 20 | 30 |
| A | Y | 22 | 22 |
我必须使用DataTable.Select("filter condition")。
【问题讨论】:
-
DataTable.GroupBy(item => new {item.Col1, item.Col2}).Select(chunk => new {Col1 = chunk.Key.Col1, Col2 = chunk.Key.Col2, Col3 = chunk.Sum(item => item.Col3), Col4 = chunk.Sum(item => item.Col4)}) -
当你必须使用不是 LINQ 的
DataTable.Select时为什么要标记 LINQ? -
类似this answer 的东西?使用
Compute而不是Select,但它是一个DT,没有LINQ。 -
@TimSchmelter:我可以使用 LinQ 作为一个遗留系统,我必须以最少的更改来优化这个应用程序。如果我的句子误解了我的意图,我们深表歉意。