【发布时间】:2018-01-29 05:42:06
【问题描述】:
我收到此错误:System.ArgumentNullException:值不能为空。但这就是重点吗?如果.FreeAmount 为空,则应在AmountList 中检查选定的金额。但是这样做失败了。我真的看不出我在这里做错了什么。
var amount = string.IsNullOrEmpty(formModel.FreeAmount)
? formModel.AmountList
.Where(x => x.Selected)
.Select(a => a.Value)
.SingleOrDefault()
: formModel.FreeAmount;
【问题讨论】:
-
你检查过formModel是否为空吗?
-
AmountList 中有 SelectedAmount 吗?
-
请包括
formModel的班级以及AmountList的班级。 -
@Kostis 如果
fromModel为空,那么您将获得NullReferenceException,而不是ArgumentNullException。 -
只是一个建议:
formModel.AmountList.Where(x => x.Selected).DefaultIfEmpty(0).Select(a => a.Value).SingleOrDefault()
标签: c# lambda null conditional