如果引用的模型为NULL,如何将属性值设置为0?

时间:2018-11-15 13:27:49

标签: c#

我正在像这样从WageCost计算ScheduleWeekScheduleDays的{​​{1}}的值(属性名称与一天和一周的工资成本相同):

public double WageCost => ScheduleDays.Sum(w => w.WageCost);

但是,如果ScheduleDaysnull,则会出现异常。如果不存在WageCost,如何将ScheduleDays的值设置为0?

2 个答案:

答案 0 :(得分:6)

双重验证

?代表w?.WageCost:避免使用NullException

??代表ScheduleDays:如果null0作为值

public double WageCost => ScheduleDays?.Sum(w => w?.WageCost) ?? 0;

答案 1 :(得分:3)

您可以为此使用?(空条件)和??(空营销)运算符:

public double WageCost => ScheduleDays?.Sum(w => w.WageCost) ?? 0;

参考文献: ?? Operator ?. and ?[] null-conditional Operators