.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
}
http://www.cnblogs.com/jackyrong/archive/2006/08/26/486796.Html