.NET中可空值类型Nullable如何实现类型安全?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1374个文字,预计阅读时间需要6分钟。
为了使.NET中的值类型可以赋值为null,微软特地在本地添加了Nullable类型,同时也可以简写为T?。虽然Nullable本身是结构体,也是值类型,但它如何实现将null赋值给值类型呢?
Nullable通过使用两个引用,一个指向值类型的实例,另一个指向null来模拟null值。当将null赋给Nullable变量时,实际上是第二个引用被设置为指向null,而第一个引用保持为null,表示没有值。
本文共计1374个文字,预计阅读时间需要6分钟。
为了使.NET中的值类型可以赋值为null,微软特地在本地添加了Nullable类型,同时也可以简写为T?。虽然Nullable本身是结构体,也是值类型,但它如何实现将null赋值给值类型呢?
Nullable通过使用两个引用,一个指向值类型的实例,另一个指向null来模拟null值。当将null赋给Nullable变量时,实际上是第二个引用被设置为指向null,而第一个引用保持为null,表示没有值。

