5

我的 C# 项目中有一组 DataRow 对象,我想从中汇总各个字段。

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

任何朝着正确方向的指针都会非常有帮助

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

4

2 回答 2

14

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

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

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

对于无类型的数据行,或者:

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

对于类型化的数据行。

MSDN对此有完整的文档;例如,是我在上面的示例中使用的重载。

于 2009-10-24T09:54:58.433 回答
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);
于 2019-11-19T06:47:33.020 回答