【问题标题】:C#.Net Linq query and null object [duplicate]C#.Net Linq 查询和空对象 [重复]
【发布时间】:2017-05-13 13:25:42
【问题描述】:

我的 linq 查询有问题。我得到一个空引用异常。我的代码有什么问题?我做了空检查,但仍然得到一个异常。

我做错了什么?

Math.Round(invoiceData?.Lines?.Sum(x => x.Amount) ?? 0, 2); 

提前致谢。

【问题讨论】:

  • 我看不出这是怎么复制的?我知道 nullReferenceException 是什么。
  • 如果Amount 为空怎么办?尝试使用.Sum(v => (decimal?) v.Amount) ?? 0)

标签: c# .net linq exception


【解决方案1】:

你有没有尝试过这样做:

Math.Round(invoiceData?.Lines?.Sum(x => x.Amount ?? 0), 2); 

【讨论】:

  • 嗨!那是行不通的。金额是小数,你不能在那里使用空合并运算符。
  • 啊,好吧...所以也许可以试试: Math.Round(invoiceData?.Lines?.Where(item=>item!=null && item.Amount != null).Sum(x => x.Amount) ?? 0, 2);
猜你喜欢
  • 1970-01-01
  • 2021-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-09
  • 2011-10-15
  • 2011-03-06
相关资源
最近更新 更多