使用大量Nullable <t>是不好的做法吗?</t>

时间:2015-03-22 17:46:35

标签: c#

我正在编写一个访问XML Web服务API的库。 XML通常包含整数/小数值等,但通常该字段将包含字符串&#34; N / A&#34;。为了适应这种情况,我设计了这种类型的设置:

    public decimal? Humidity { get; private set; }
    public decimal? WindChill { get; private set; }
    public int? HeatIndex { get; private set; }
    public decimal? FeelsLike { get; private set; }
    public decimal? Snow { get; private set; }

在XML解析期间,我检查类型,如果它是一个字符串,我将类型设置为null,否则将其设置为提供的数值。这是好事还是坏事?

1 个答案:

答案 0 :(得分:8)

根据我的经验,当您尝试代表可选值类型属性时,例如intdecimal - 使用Nullable<T>优于备选方案(例如,在类型的域中选择哨兵值,例如-1)。

所以在你的情况下,我认为你的练习很好。 null是表示N/A整数的合理方式。