六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 55|回复: 0

.net 2.0中新增的nullable类型

[复制链接]

升级  73.25%

801

主题

801

主题

801

主题

探花

Rank: 6Rank: 6

积分
2465
 楼主| 发表于 2013-1-27 05:01:36 | 显示全部楼层 |阅读模式
.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
}



您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

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