我有以下数据:

数字可以为空
因此,我正在编写LINQ语句,以获得以下数字:
所需结果: 290
我的LINQ语句当前如下所示:
(from b in data
where b.Number.HasValue
select new
{
Number = b.Number.Value,
b.Factor
}).Sum(o => o.Number * (o.Factor / 100));我得到以下错误:
转换为值类型'Decimal‘失败,因为物化值为null。结果类型的泛型参数或查询必须使用可空类型。
发布于 2012-08-27 13:11:53
这个问题可以通过这样的方式来解决:
(from b in data
where b.Number.HasValue
select new
{
Number = b.Number.Value,
b.Factor
}).Sum(o => (decimal?)(o.Number * ((decimal)o.Factor / 100))) ?? 0;(注:我在写问题的时候找到了答案,我想我最好把答案写出来,然后公布给其他人。)
https://stackoverflow.com/questions/12142659
复制相似问题