我正在编写一个访问XML Web服务API的库。 XML通常包含整数/小数值等,但通常该字段将包含字符串" N / A"。为了适应这种情况,我设计了这种类型的设置:
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,否则将其设置为提供的数值。这是好事还是坏事?
答案 0 :(得分:8)
根据我的经验,当您尝试代表可选值类型属性时,例如int
和decimal
- 使用Nullable<T>
优于备选方案(例如,在类型的域中选择哨兵值,例如-1
)。
所以在你的情况下,我认为你的练习很好。 null
是表示N/A
整数的合理方式。