宣言 Eraseステートメント動的配列のクリア削除メモリ解放

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Erase ステートメント

固定サイズの配列の場合は要素を再初期化し、動的配列の場合は割り当てたメモリを解放します。

  • 構文

  • Erase arraylist
  • 必須の引数 arraylist には、消去する配列変数を指定します。複数指定する場合は、カンマ (,) で区切ります。
  • 解説

  • 配列が固定サイズの配列 (通常の配列) であるか、または動的配列であるかによって、Erase ステートメントの動作は異なります。固定サイズの配列の場合、Erase ステートメントはメモリを解放しません。固定配列の要素は、次のように設定されます。
  • 配列の型 Erase ステートメントの実行結果
  • 静的数値配列 要素はすべて 0 に設定されます。
  • 静的文字列配列 (可変長) 要素はすべて長さ 0 の文字列 ("") に設定されます。
  • 静的文字列配列 (固定長) 要素はすべて 0 に設定されます。
  • 静的バリアント型 (Variant) 配列 要素はすべて Empty 値に設定されます。
  • ユーザー定義型配列 各要素は、別個の変数として設定されます。
  • オブジェクト配列 要素はすべて特別な値 Nothing に設定されます。
  • Erase ステートメントは、動的配列が使っていたメモリを解放します。プログラムでこの配列を再度参照するには、ReDim ステートメントを使って、再びこの配列変数の次元を宣言する必要があります。

Erase ステートメントの使用例

次の例では、Erase ステートメントを使って、静的配列の要素の再初期化と動的配列のメモリの解放を行っています。
Option Explicit

' 配列変数を宣言します。
Dim NumArray(10) As Integer         ' 整数型の配列。
Dim StrVarArray(10) As String       ' 可変長文字列型の配列。
Dim StrFixArray(10) As String * 10  ' 固定長文字列型の配列。

Dim VarArray(10) As Variant         ' バリアント型の配列。
Dim DynamicArray() As Integer       ' 動的配列。
ReDim DynamicArray(10)              ' メモリ領域を割り当てます。
Erase NumArray                      ' 各要素の値を 0 にします。
Erase StrVarArray                   ' 各要素の値を長さ 0 の
                                    ' 文字列 ("") にします。
Erase StrFixArray                   ' 各要素の値を 0 にします。
Erase VarArray            ' 各要素の値を Empty 値にします。
Erase DynamicArray        ' 配列が占有していたメモリを解放します。

 

2000年01月01日|[VBサンプルコード]:[宣言]