如何优雅地总结为nullable并在null为null时保留null

时间:2014-05-01 22:07:18

标签: c# sum nullable

说我有这个属性:

public double? MyTotal
{
    get
    {
        return (new double?[] {
            Value1,
            Value2,
            Value3
        }).Sum();
    }
}

其中Value1Value2Value3是可以为空的双打double?

如果MyTotalnullValue1都是Value2,我怎样才能确保Value3返回null

Value1100.0且其余为null时,上述属性正常工作 - 它返回100.0,但我需要区分空值和0。< / p>

1 个答案:

答案 0 :(得分:0)

这不是最有效的,但可能是最优雅的。

double?[] vars =
{
    null,
    null,
    null
};
vars.Any(d => d.HasValue) ? vars.Sum() : null
相关问题