您的位置:首页 > 其它

Nullable<T>学习笔记

2009-12-11 16:43 197 查看
一会要陪远道来的朋友出去玩,先挤着时间说说Nullable<T>。

由于数据库中的数字可以为空,C#中的数字不能为空。所以导致了Nullable<T>的存在。

(1)下面简单说说Nullable<T>的使用

Nullable<T>用Nullable<int>实例化,习惯上简写成int?,例如

Nullable<int> x;//即 int? x;


可以通过如下方式获得x的值

Nullable<int> x;
x = 4;
if (x.HasValue) {
int y = x.Value;
}
x = null;


(2)int?与int的转换

int y1 = 4;
int? y2 = y1;


从非可空类型转换为可空类型时,在不需要强制类型转换的地方可以进行隐式转换。

如果y1是空值时,把null值赋予非空类型,就会抛出InvalidOperationException类型的异常。

实际上编译时就会报错,这里就需要做强制转换:

int? y1 = 4;
int y2 = (int)y1;


或者使用接合运算符??,示例如下:

int? y2;
int y1 = y2 ?? 0;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: