【发布时间】:2021-08-17 01:05:37
【问题描述】:
以下代码行:
double? paidAmount = invoices.Value.Where(x => x.Status.Equals(Constants.InvoicePaid)).Sum(x => x.TotalAmount);
当状态为空时导致错误。:
System.NullReferenceException: '对象引用未设置为对象的实例。'
我可以使用 null-coalescing 避免这个异常吗?如果有兴趣,我在这里检查status属性是否等于"paid"我想求和。
【问题讨论】:
-
我们需要更多信息。究竟是哪个属性引发了异常?
-
这能回答你的问题吗? What is a NullReferenceException, and how do I fix it?另外一个说明
Can I avoid this exception using null-coalescing?你试过了吗,结果如何? -
另一个选项,您是否可以选择
Constants.InvoiceNotPaid或Constants.InvoiceNew,这会很有帮助,因为它可能是Status的默认值...除非null是有效的未支付/未知等的价值...... -
@Fabjan Status 属性导致异常