手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

在c#中使用可空类型_c#应用

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

可空类型是System.Nullable结构体的实列。一个可空类型代表了相应值类型的正确范围附加null值。例如Nullable<Int32>的取值范围应该是-2147483648到2147483647外加null。Null<bool>的取值为true,false和null。这种方法一般在处理数据库的时候用到,因为数据库里面可能含有没有赋值的值类型。

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<T>的缩写,这里T是个值类型。这两种格式是能够互换的。
·能够像使用普通类型相同使用可空类型。例如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<Nullabel<int>> n;将会抛出异常。


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!