如何获取 IEnumerable 对象集合中的数字总和?我确信基础类型将始终是数字,但类型是在运行时确定的。
IEnumerable<object> listValues = data.Select(i => Convert.ChangeType(property.GetValue(i, null), columnType));
之后我希望能够执行以下操作(以下错误:“无法解析方法 Sum”):
var total = listValues.Sum();
有什么想法吗?谢谢。
最佳答案
如果你知道确切的类型总是数字类型,你应该能够使用类似的东西:
double total = listValues.Sum(v => Convert.ToDouble(v));
这会起作用,因为 Convert.ToDouble
会寻找 IConvertible
,由核心数字类型实现。您强制类型为 double
而不是原始类型。
关于c# - 如何获取 IEnumerable<object> 的 linq 总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15417623/