.net 2.0中,有新增的nullable类型,主要可以用为基本的值类型赋予null的值,比如
int? k = 3;//一个可为空的值类型(简称空类型)
int m = null;//错误
int? j = null;//成功
从上面的例子我们可以看到在值类型后可以定义一个可为空的值类型,在C#中,是在基本类型后加一个?号,而在VB.NET中,可以这样
实际上空类型是定义在.NET库中的一种范型类System.Nullable<T>,其中T就是可替换的值类型。
int? k = 3;同样可以写作System.Nullable<int> k = 3;
其中的操作是通过该类的运算符重载实现的
可以用hasvalue来判断空类型中是否已经有赋值了
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
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步