1. 首页
  2. 编程语言
  3. C#
  4. C#基础语法:可空类型详解

C#基础语法:可空类型详解

上传者: 2021-08-04 11:38:39上传 PDF文件 97.39 KB 热度 11次

当变量包含非 null 值时,它被设置为 true。如果 HasValue 为 false,则访问 Value 将引发 InvalidOperationException。可空类型可强制转换为常规类型,方法是使用强制转换来显式转换或者通过使用 Value 属性来转换。两个操作数中任何一个为null,结果为null。为解决这个问题,CLR会在对一个可空变量装箱的时候执行一些特殊代码,以维护可空类型在表面上的合法地位。如果是,CLR实际就不进行任何装箱操作,并会返回null值。如果可空实例不为null,CLR就从可空实例中取出值,并对其进行装箱。以下代码对这个行为进行了演示:将一个值类型拆箱为值类型的一个可空的版本时,CLR可能必须分配内存。然而,Nullable不像int那样实现了IComparable接口。因此,GetType 总是返回表示基础类型而不是可以为 null 的类型的 Type 对象。

下载地址
用户评论