PiZ*_*zL3 1 c# lambda biginteger
var totalCost = Persons.Sum(x => BigInteger.Parse(x.cost.First(kv => kv.Key == "volvo").Value))
错误:
无法将lambda表达式转换为委托类型' System.Func< Persons,int >',因为块中的某些返回类型不能隐式转换为委托返回类型.
无法隐式将类型' System.Numerics.BigInteger' 转换为' int'.存在显式转换(您是否错过了演员?)
我用它OrderByDescending并且它工作正常.我能理解错误.我只是不知道要替换什么来Sum使它工作.
如何正确使用BigInteger该声明?
从本质上讲,Sum方法的重载不适用于BigInteger.NET 4.0.您可以编写一个自己执行此操作的重载,或使用更通用的Aggregate运算符来进行求和:
var totalCost = Persons.Select(x => BigInteger.Parse(x.cost.First(kv => kv.Key == "volvo").Value))
.Aggregate(BigInteger.Zero, (sum, next) => sum + next);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
407 次 |
| 最近记录: |