职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1226|回复: 0

.net 2.0中新增的nullable类型

[复制链接]
joe 发表于 2007-1-25 13:38 | 显示全部楼层 |阅读模式
.net 2.0中,有新增的nullable类型,主要可以用为基本的值类型赋予null的值,比如

int? k = 3;//一个可为空的值类型(简称空类型)
int m = null;//错误
int? j = null;//成功
从上面的例子我们可以看到在值类型后可以定义一个可为空的值类型,在C#中,是在基本类型后加一个?号,而在VB.NET中,可以这样

Dim dtmVarName As Nullable(Of DateTime)

Dim intVarName As Nullable(Of Integer)

Dim bVarName As Nullable(Of Boolean)

要注意的是,空类型不是一种新的.NET数据类型。
实际上空类型是定义在.NET库中的一种范型类System.Nullable<T>,其中T就是可替换的值类型。
int? k = 3;同样可以写作System.Nullable<int> k = 3;
其中的操作是通过该类的运算符重载实现的

可以用hasvalue来判断空类型中是否已经有赋值了

if (dtmVarName.HasValue)
{
     //...do something
}
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-10 07:11 , Processed in 0.129607 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表