Nothing (Visual Basic)
更新 : 2007 年 11 月
任意のデータ型の既定値を表します。
解説
変数に Nothing を代入すると、変数の宣言された型に対する既定値が変数に設定されます。型に変数のメンバが含まれている場合は、すべてに既定値が設定されます。次に例を示します。
Public Structure testStruct
Public name As String
Public number As Short
End Structure
Dim ts As testStruct, i As Integer, b As Boolean
ts = Nothing
' The preceding statement sets ts.name to "" and ts.number to 0.
i = Nothing
b = Nothing
' The preceding statements set i to 0 and b to False.
変数が参照型である場合、つまりオブジェクト変数である場合は、Nothing を代入すると、どのオブジェクトとも関連付けられていない変数になります。次にコード例を示します。
Dim testObject As Object
testObject = Nothing
' The preceding statement sets testObject to not refer to any instance.
キーワード Nothing をオブジェクト変数に代入すると、その変数はどのオブジェクト インスタンスも参照しなくなります。それまで変数がインスタンスを参照していた場合は、変数に Nothing を設定しても、インスタンス自体が終了することはありません。インスタンスが終了したとき、関連付けられていたメモリとシステム リソースが解放されるのは、アクティブな参照が残っていないことをガベージ コレクタ (GC: Garbage Collector) が検出した後だけです。