配列の最大インデックスを変更
値を初期化して配列の大きさを変更する
配列の大きさを変更するには、Redimステートメントを使用します。
まずは、すでに配列に値が入っている場合に、値を初期化して配列のサイズを変更する方法からご紹介します。
Redim 配列名(最大インデックス)
それではサンプルを見てみましょう。
Console.WriteLineを使って、Redimステートメントの動作をコンソールに出力します。
1 2 3 4 5 6 7 8 9 |
Dim List() As Integer = {1, 2, 3, 4, 5} Console.WriteLine("最大インデックスは" & UBound(List) & "です。") Console.WriteLine(List(0)) ReDim List(10) Console.WriteLine("変更後の最大インデックスは" & UBound(List) & "です。") Console.WriteLine(List(0)) |
上記を実行した結果がこちらです。
実行結果
最大インデックスは4です。
1
変更後の最大インデックスは10です。
0
実行結果がコンソールに出力されました。
最大インデックス数がRedimステートメントで指定した値に変更され、配列作成時に代入していた内容は初期化されているのがわかります。
値を維持したまま配列の大きさを変更する
すでに配列に値が入っている場合に、値を維持したまま配列のサイズを変更するには、Preserveを指定します。
Redim Preserve 配列名(最大インデックス)
それではサンプルを見てみましょう。
Console.WriteLineを使って、Redim Preserveステートメントの動作をコンソールに出力します。
1 2 3 4 5 6 7 8 9 |
Dim List() As Integer = {1, 2, 3, 4, 5} Console.WriteLine("最大インデックスは" & UBound(List) & "です。") Console.WriteLine(List(0)) ReDim Preserve List(10) Console.WriteLine("変更後の最大インデックスは" & UBound(List) & "です。") Console.WriteLine(List(0)) |
上記を実行した結果がこちらです。
実行結果
最大インデックスは4です。
1
変更後の最大インデックスは10です。
1
実行結果がコンソールに出力されました。
最大インデックス数がRedimステートメントで指定した値に変更され、配列作成時に代入していた内容はそのまま維持されているのがわかります。
以上が、配列の大きさを変更する「Redim」ステートメントの使い方です。
ぜひ参考にしてみてください。