setter值为null

时间:2014-07-24 20:22:19

标签: c# nullable

我想了解为什么在setter中设置double值后,该值为null。

代码如下:

public Class Product
{
    private double? u_total;
    public double? Total
        {
            get
            {
                return u_total;
            }
            set 
            { 
              u_total = value;
             }
        }

}

当我打电话时:

for (i=0; i<list.Count; i++)
{
   products.Total += list[i].Price !=null ? (double?)quantity*list[i].Price : 0;
}

对于第一种情况,list [1] .Price(double?)是1234.5,但setter上的值将为null。 而我的produsts.Total 0。

请告知错误。

1 个答案:

答案 0 :(得分:4)

我想而不是

if (u_total != null)

应该是

if (u_total == null)