如何用LINQ做一个列的总和?

时间:2014-01-06 14:07:02

标签: c# linq datatable linq-to-dataset

  var GrandTotal = dt.AsEnumerable().Sum(cols => Convert.ToDecimal(cols.Field<string>("TotalPrice"))); 

给出错误:

Unable to cast object of type 'System.Decimal' to type 'System.String'

我该如何纠正?

1 个答案:

答案 0 :(得分:3)

您的TotalPrice列包含小数值,但您尝试将行字段值转换为string。直接转换为decimal

var GrandTotal = dt.AsEnumerable()
                   .Sum(r => r.Field<decimal>("TotalPrice"));