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