【问题标题】:Is it bad practice to use a lot of Nullable<T>?使用大量 Nullable<T> 是不好的做法吗?
【发布时间】:2015-03-22 17:46:35
【问题描述】:

我正在编写一个访问 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,否则将其设置为提供的数值。这是好还是坏的做法?

【问题讨论】:

    标签: c#


    【解决方案1】:

    根据我的经验,当您尝试表示 可选 值类型属性时——例如 intdecimal——使用 Nullable&lt;T&gt; 比使用其他选项更可取(例如选择类型域中的标记值,例如 -1)。

    所以在你的情况下,我认为你的做法很好。 null 是表示N/A 整数的明智方式。

    【讨论】:

    • 你是对的,但请确保在尝试使用序列化时不要经常这样做。
    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 2012-04-04
    相关资源
    最近更新 更多