如何在LINQ(到数据集)中计算DataTable列的总和?

时间:2009-02-15 02:24:27

标签: c# linq datatable sum

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

2 个答案:

答案 0 :(得分:71)

如果是无类型的(用正确的数据类型替换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);

答案 1 :(得分:0)

如果您的数据字段是整数

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();