如何正确编写表达式实现Litr与Total值的相加?
问题解答
首先直接说结论:Summa= Total + Litr 直接这么写可能会报错,因为Total是可空整数类型(int?),当DataEnters里没有符合条件的行时,Total会是null,这时候和非空的int类型Litr相加会触发编译错误。
正确的写法分两种情况:
情况1:如果希望Total为null时按0计算
用空合并运算符??把null替换成0,再和Litr相加:public int Summa => (Total ?? 0) + Litr;比如
Total是null、Litr是10,结果就是10;Total是20、Litr是10,结果就是30。情况2:如果希望Summa也保持可空(Total为null时Summa也为null)
可以直接让Summa成为可空类型,C#会自动把Litr转为可空类型参与计算:public int? Summa => Total + Litr;这种情况下,如果
Total是null,Summa也会是null;如果Total有值,就正常相加。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

