redimは要素数を途中で変えたいときに宣言しますね。
redimだけではそれまで格納されたデータが初期化されてしまいます。
ソース
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim hairetu(3) As Integer
For i = 0 To hairetu.Length – 1
hairetu(i) = +1
MsgBox(i)
Next
ReDim hairetu(5)
MsgBox(hairetu(2))
End Sub
End Class
実行結果
0
1
2
3
0
以前の値を保持したいときは
Preserveをredimの後ろにつけます。
ソース
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim hairetu(3) As Integer
For i = 0 To hairetu.Length – 1
hairetu(i) = +1
MsgBox(i)
Next
ReDim Preserve hairetu(5)
MsgBox(hairetu(2))
End Sub
End Class
実行結果
0
1
2
3
1