Nullable 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
支持可分配 null的值类型。 此类不能被继承。
public ref class Nullable abstract sealed
public static class Nullable
[System.Runtime.InteropServices.ComVisible(true)]
public static class Nullable
type Nullable = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Nullable = class
Public Class Nullable
- 继承
-
Nullable
- 属性
注解
该 Nullable 类支持可分配 null的值类型。
如果一个类型可以被赋值或者被赋为 null(表示类型完全没有值),那么我们称这种类型为可空类型。 默认情况下,所有引用类型(例如 String)都是可为 null 的,但所有值类型(例如 Int32)都不是。
在 C# 和 Visual Basic 中,通过在值类型后面使用 ? 语法,将值类型标记为可空。 例如, int? 在 C# 或 Integer? Visual Basic 中,声明可以分配 null的整数值类型。
该 Nullable 类为 Nullable<T> 结构提供补充支持。 Nullable 类支持获取可以为 Null 类型的基础类型,并支持那些基础值类型不支持泛型比较和相等运算的可以为 Null 类型对的比较和相等运算。
装箱和取消装箱
当对可为 null 的类型进行装箱时,公共语言运行时会自动将 Nullable<T> 对象的基础值进行装箱,而不是 Nullable<T> 对象本身。 也就是说,如果 HasValue 属性为 true,则对 Value 属性的内容进行装箱。
如果可以为 null 类型的属性 HasValue 是 false,则装箱操作的结果是 null。 当可为 null 类型的基础值被取消装箱时,公共语言运行时会创建一个新的 Nullable<T> 结构,并初始化为该基础值。
方法
| 名称 | 说明 |
|---|---|
| Compare<T>(Nullable<T>, Nullable<T>) |
比较两个 Nullable<T> 对象的相对值。 |
| Equals<T>(Nullable<T>, Nullable<T>) |
指示两个指定的 Nullable<T> 对象是否相等。 |
| GetUnderlyingType(Type) |
返回指定可为 null 类型的基础类型参数。 |
| GetValueRefOrDefaultRef<T>(Nullable<T>) |
检索对存储值的实例中位置的 Nullable<T> 只读引用。 |