Hab*_*bib 14
数据类型有?是可以为空的类型.它们也可以保存null值.
请查看此Source链接
- 可空类型表示可以赋值为null的值类型变量.您无法基于
引用类型创建可空类型.(引用类型已经支持null值.)- 语法T?(在C#中)是System.Nullable的简写,其中T是值类型.这两种形式是可以互换的.
以与普通值类型相同的方式将值分配给可空类型,例如:C#:
int? x = 10; or double? d = 4.108;VB.NET:
Dim x As Nullable(Of Integer) = 10或Dim d As Nullable(Of Double) = 4.108使用System.Nullable.GetValueOrDefault方法返回指定的值,如果值为null,则返回基础类型的默认值,例如
C#:int j = x.GetValueOrDefault();
VB.NET:
Dim j as Integer = x.GetValueOrDefault()使用HasValue和Value只读属性测试null并检索值.
- 如果变量包含值,则HasValue属性返回true;如果变量包含值,则返回false.
- 如果分配了一个值,则Value属性返回一个值,否则抛出System.InvalidOperationException.
- 可空类型变量的默认值将HasValue设置为false.价值未定义.
在C#4.0中- 使用 ??(C#)运算符,用于指定当当前值为null的可空类型被分配
给非可空类型时将应用的默认值,例如
int? x = null;
int y = x ?? -1;
Run Code Online (Sandbox Code Playgroud)