说我有这个属性:
public double? MyTotal
{
get
{
return (new double?[] {
Value1,
Value2,
Value3
}).Sum();
}
}
其中Value1
,Value2
和Value3
是可以为空的双打double?
。
如果MyTotal
,null
和Value1
都是Value2
,我怎样才能确保Value3
返回null
?
当Value1
为100.0
且其余为null
时,上述属性正常工作 - 它返回100.0
,但我需要区分空值和0。< / p>
答案 0 :(得分:0)
这不是最有效的,但可能是最优雅的。
double?[] vars =
{
null,
null,
null
};
vars.Any(d => d.HasValue) ? vars.Sum() : null