.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