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) が検出した後だけです。

参照

概念

オブジェクトの有効期間 : オブジェクトの作成と破棄

Visual Basic における有効期間

参照

Dim ステートメント (Visual Basic)