.net 2.0 には、新しい null 許容型があり、これを使用して、次のような基本的な値型に null 値を割り当てることができます。
int? k = 3;//null 許容値型 (null 型と呼ばれます)
int m = null;//エラー
int? j = null;//Success 上の例から、C# では、null 許容値型を値型の後に定義できるのに対し、VB.NET では、? 記号が追加されることがわかります。これを実行できます。
Dim dtmVarName As Nullable(Of DateTime)
Dim intVarName As Nullable(Of Integer)
Dim bVarName As Nullable(Of Boolean)
Null 型は新しい .NET データ型ではないことに注意してください。
実際、null 型は .NET ライブラリで定義されたジェネリック クラス System.Nullable<T> です。ここで、T は置換可能な値の型です。
int? k = 3; System.Nullable<int> k = 3; と書くこともできます。
操作は、このクラスの演算子のオーバーロードによって実装されます。
if (dtmVarName.HasValue)
{
//...do something
}
の場合、hasvalue を使用して空の型に値が割り当てられているかどうかを判断できます
。
http://www.cnblogs.com/jackyrong/archive/2006/08/26/486796.html