【问题标题】:How is nullable type implemented by .NET? [duplicate].NET 是如何实现可空类型的? [复制]
【发布时间】:2013-04-30 16:19:26
【问题描述】:

.NET 是如何实现可空类型的?

Nullable<int> x = 5;
int? x = 5;

【问题讨论】:

  • @JonSkeet,我查看了重复的问题。如果 Nullable 是一个结构。作为一个结构,它是值类型,那么我们为什么能够将“null”分配给它的实例呢?诠释? = 空

标签: .net nullable


【解决方案1】:

是的,在.net中是一样的

int? variable = 5;

【讨论】:

    【解决方案2】:

    所以Nullable&lt;t&gt; 有两个主要属性:valuehasValue

    现在,如果您有一个值类型(例如 int) - 它永远不会有 null 值,如果是 int,它的初始值为 0。

    由于value 是一个属性,您可以单独跟踪它是否设置为null,如果它为null,但您尝试使用value 属性的getter 方法,它可能会抛出异常.

    【讨论】:

      猜你喜欢
      • 2011-01-31
      • 1970-01-01
      • 2020-02-10
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-12
      • 1970-01-01
      相关资源
      最近更新 更多