【发布时间】:2019-06-06 07:27:35
【问题描述】:
我正在尝试计算与我的条件匹配的列的总和。 “数量”列的列表(lstSumQty)中的记录为字符串格式(注意:由于此数据来自最终用户上传的 excel 文件。因此,数量列有时为字符串或十进制) .
由于column string DataType,系统抛出异常:Specified cast is not valid, How to cast or resolve?
列表中的数据
Unit Quantity
"t" "10"
"t" "05"
"kg" "14"
"t" "02"
结果应该是: tUnitTotal = 17
查看下面的代码
tUnitTotal = lstSumQty
.AsEnumerable()
.Where(row => row.Field<string>("Unit") == "t")
.Sum(row => row.Field<decimal>("Quantity"))
.ToString();
除了 List,我也可以使用 LINQ 处理 DataSet 或 DataTable。
任何帮助将不胜感激:)。
【问题讨论】: