我有:
a = b.Sum(...) + c.Sum(...)
其中b,c
是实体。
问题是:当(b.Sum(...)
,c.Sum(...)
)中的至少一个为空时,a
将为空。我想将null视为0.我该怎么做?
答案 0 :(得分:1)
也许是这样的
a = ( b.Sum(...) + c.Sum(...)) ?? 0;
现在如果表达式为null,则a将为0;
答案 1 :(得分:1)
至少在LINQ2SQL中,您可以手动转换为int?
,然后处理空案例</ p>
a = ((int?)b.Sum(...) + c.Sum(...)).GetValueOrDefault();
答案 2 :(得分:0)
我认为你可以使用null coelesce:
a = (b.Sum(..) + c.Sum(...)) ?? 0;
注意:未经检查的语法!不确定你的总和在做什么!
查看以下MSDN文章:http://msdn.microsoft.com/en-us/library/ms173224.aspx