36

我刚刚开始阅读 LINQ,我想开始将它合并到我的代码中。我知道如何通过“Foreach”遍历行或在特定列上执行 compute.sum 来计算 DataTable 列的总和。如何使用 LINQ to DataSet 进行等效操作?

4

2 回答 2

85

如果没有类型(替换int为正确的数据类型):

 var sum = table.AsEnumerable().Sum(x=>x.Field<int>(3));

或者:

 var sum = table.AsEnumerable().Sum(x=>x.Field<int>("SomeProperty"));

如果键入:

 var sum = table.Sum(x=>x.SomeProperty);
于 2009-02-15T03:32:26.807 回答
2

如果您的数据字段是整数

var sum = TableData.Sum(x => x.FieldName);

如果您的数据字段是字符串,那么您需要将其解析为整数

var sum = TableData.Sum(x => Int32.Parse(x.FieldName));

如果您的数据字段是字符串,并且您想将结果存储为字符串

var sum = TableData.Sum(x => Int32.Parse(x.FieldName)).ToString();
于 2019-12-05T19:14:35.720 回答