DataRow []聚合函数C#

时间:2009-10-24 09:51:11

标签: c# aggregate

我在C#项目中有一个DataRow对象数组,我想从中总结各种字段。

我注意到了DataRow []。而不是遍历每一行并累计我自己的总和.Sum<>功能,但我正在努力在网上找到有关如何使用它的任何资源。

任何正确方向的指针都会非常有用

:)删除了代码示例,因为它错了!现在一切正常 - 链接帮助了Marc。

2 个答案:

答案 0 :(得分:13)

那是LINQ Sum;并且可以使用:

var sum = rows.Sum(row => row.Field<int>("SomeColumn")); // use correct data type

(您也可以传入列索引或DataColumn代替字符串)

表示无类型数据行,或者:

var sum = rows.Sum(row => row.SomeColumn);

用于类型化数据行。

MSDN有关于此的完整文档;例如,here是我在上面的例子中使用的重载。

答案 1 :(得分:1)

这是我在Datatable的DataRow中使用总和字段的方法。

我分享关注的人。

DataTable retrieveData = GetData();
decimal value = 0;
var total = retrieveData.Rows[i].ItemArray.Sum(row => 
    decimal.TryParse(row.ToString(), out value) ? decimal.Parse(row.ToString()) : 0);