可空类型是System.Nullable结构的实例。可空类型可以表示其基础值类型的正确值范围,以及附加的空值。例如,可以为Nullable<Int32>
发音为“ Int32的Nullable”分配从-2147483648到2147483647之间的任何值,也可以为其分配空值。Nullable<bool>
可以为A 分配值true,false或null。在处理包含可能未分配值的元素的数据库和其他数据类型时,为数字和布尔类型分配null的功能特别有用。例如,数据库中的布尔值字段可以存储值true或false,也可以未定义。
class NullableExample
{
static void Main()
{
int? num = null;
// Is the HasValue property true?
if (num.HasValue)
{
System.Console.WriteLine("num = " + num.Value);
}
else
{
System.Console.WriteLine("num = Null");
}
// y is set to zero
int y = num.GetValueOrDefault();
// num.Value throws an InvalidOperationException if num.HasValue
is false try { y = num.Value; } catch (system.invalidOperationException e) { System.Console.WriteLine(e.Message); } } }