首页 > 应用开发 > IT综合 > 在C#中使用可空类型(转)
可空类型是System.Nullable结构体的实列。一个可空类型代表了相应值类型的正确范围附加null值。例如Nullable
class NullableExample
{
static void Main()
{
int? num = null;
if (num.HasValue == true)
{
System.Console.WriteLine("num = " + num.Value);
}
else
{
System.Console.WriteLine("num = Null");
}
// y将会被设置“0”。
int y = num.GetValueOrDefault();
// 如果num.HasValue为空,那么num.Value将会抛出InvalidOperationException异常。
try
{
y = num.Value;
}
catch (System.InvalidOperationException e)
{
System.Console.WriteLine(e.Message);
}
}
}
输出的结果:
num = Null
Nullable object must have a value.
可空类型具有如下的属性:
·可空类型只能应用于值类型,引用类型因为已经支持了null而不能被使用。
·T?是System.Nullable
·可以像使用普通类型一样使用可空类型。例如int? x = 10;或者double? d = 40108;
·使用System.Nullable.GetValueOrDefault还获得值,或者当它为空的时候获得默认值。
·使用HaseValue和Value只读属性来测试它是不是空并且返回相应的非空值。
·如果含有值那么HaseValue返回真,否则返回假。
·如果含有值那么Value返回值,否则抛出System.InvalidOperationException异常。
·HaseValue默认值为假,Value默认为未定义。
·当向值类型获得可空类型的值得时候,使用??运算符来赋予一个可空类型一个默认值。例如:int? x = null; int y = x ?? -1;
·不可以嵌套可空类型。Nullable
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/79548/viewspace-924656/ ,如需转载,请注明出处,否则将追究法律责任。