配列変数を宣言と同時に、配列変数を初期化できます。1次元配列の初期化、2次元配列の初期化、配列の配列の初期化について紹介します。
要素の長さのみ初期値に指定した場合
' ary2(0) = Nothing, ary2(1) = Nothing, ary2(2) = Nothing Dim ary2() As String = New String(2) {}
要素の値のみ初期値に指定(要素の長さも決まる)
' ary3(0) = "aaa", ary3(1) = "bbbb", ary3(2) = "cc" Dim ary3() As String = New String() {"aaa", "bbbb", "cc"} ' オブジェクト型の配列に、初期値として文字列を指定 ' obj(0) = "アイウエオ", obj(1) = "123" Dim obj() As Object = New Object() {"アイウエオ", "123"}
要素の長さと値を初期値に指定
Dim ary4() As String = New String(2) {"aaa", "bbbb", "cc"}
配列の長さを指定して変数のみ宣言し、後から値を代入(配列境界外の代入に注意、たとえば、次の例では、ary5(3)= "dd" は実行時エラー)
Dim ary5(2) As String ary5(0) = "aaa" ary5(1) = "bbbb" ary5(2) = "cc"
要素の長さのみ初期値に指定した場合
' ary2(0,0) = Nothing, ary2(0,1) = Nothing, ary2(0,2) = Nothing, ' ary2(1,0) = Nothing, ary2(1,1) = Nothing, ary2(1,2) = Nothing Dim ary2(,) As String = New String(1, 2) {}
要素の値のみ初期値に指定(要素の長さも決まる)
' ary3(0,0) = 1, ary3(0,1) = 2, ary3(1,0) = 5, ' ary3(1,1) = 7,ary3(2,0) = 10, ary3(2,1) = 12 Dim ary3(,) As Integer = New Integer(,) {{1, 2}, {5, 7}, {10, 12}}
要素の長さと値を初期値に指定
Dim ary4(,) As Integer = New Integer(2, 1) {{1, 2}, {5, 7}, {10, 12}}
配列の長さを指定して変数のみ宣言し、後から値を代入(配列境界外の代入は実行時エラー)
' ary2(0,0) = Nothing, ary2(0,1) = Nothing, ary2(0,2) = Nothing, ' ary2(1,0) = Nothing, ary2(1,1) = Nothing, ary2(1,2) = Nothing Dim ary5(1, 2) As String
要素の長さのみ初期値に指定した場合(注:トップレベルのみ指定可能)
' arry2(0) = Nothing, arry2(1) = Nothing Dim arry2()() As Integer = New Integer(1)() {}
要素の値のみ初期値に指定(要素の長さも決まる)
' arry3(0)(0) = 1, arry3(0)(1) = 2, arry3(0)(2) = 3, ' arry3(1)(0) = 7, arry3(1)(1) = 8 Dim arry3()() As Integer = New Integer()() {New Integer() {1, 2, 3}, New Integer() {7, 8}}
トップレベル要素の長さと値の初期値を指定
Dim arry4()() As Integer = _ New Integer(1)() {New Integer() {1, 2, 3}, New Integer() {7, 8}}
配列の長さを指定して変数のみ宣言し、後から値を代入(配列境界外の代入は実行時エラー)
Dim arry5(1)() As Integer ' arry5(0) = Nothing, arry5(1) = Nothing ' arry5(0)(0) = 10, arry5(0)(1) = 20, arry5(0)(2) = 30 ' arry5(1)(0) = 55, arry5(1)(1) = 66 arry5(0) = New Integer() {10, 20, 30} arry5(1) = New Integer() {55, 66}