C# 按给定条件对数据表中的值求和

C# 按给定条件对数据表中的值求和,c#,datatable,C#,Datatable,根据给定的条件对数据表中的数据求和,哪种方法最有效 我有下表: KEY_1 KEY_2, VALUE_1, VALUE_2 输入: 01101, P, 2, 3 01101, F, 1, 1 01101, P, 4, 4 10102, F, 5, 7 所需输出新数据表: 01101, P, 6, 7 01101, F, 1, 1 01101, SUM, 7, 8 10102, F, 5, 7 10102, SUM, 5, 7 我需要高效的算法,因为我在一个数据表中有10k行和18列 谢谢。

根据给定的条件对数据表中的数据求和,哪种方法最有效

我有下表:

KEY_1
KEY_2,
VALUE_1,
VALUE_2
输入:

01101, P, 2, 3
01101, F, 1, 1
01101, P, 4, 4
10102, F, 5, 7
所需输出新数据表:

01101, P, 6, 7
01101, F, 1, 1
01101, SUM, 7, 8
10102, F, 5, 7
10102, SUM, 5, 7
我需要高效的算法,因为我在一个数据表中有10k行和18列

谢谢。

你可能想考虑使用LINQ--它有一个GROPBY运算符,它可以让你在描述的数据大小上能很好地完成这项工作。p>


如果您需要一个超级优化的实现,那么您可能需要创建自己的中间数据结构来表示汇总记录,根据键存储某种字典,并在循环每个记录时进行更新。

您确实需要更精确地描述您正在尝试做的事。。。你的榜样对我们这些凡人来说并不十分清楚;我需要为自定义报告引擎准备数据。我知道这很奇怪。但这就是任务所在。我无法启动sql查询并获得所需的值,因为对这么多数据进行操作非常昂贵。@Paulo Santos,我没有示例代码。我必须写它。我所拥有的只是DataTable dt=_repository.GetData;谢谢你的回答!我的应用程序运行在.NET2.0上:字典的开销会很大吗?它将包含至少5k个元素。只要您使用的键具有良好的哈希值分布,字典的伸缩性就相当好。与嵌套循环等其他算法相比,它的实现速度也要快得多。