VB.NET 配列を初期化する方法

配列の初期化には、様々な書き方がありますので、それぞれご紹介します。

配列の宣言と同時に初期化

Dim Array1() As String = New String() {"aaa", "bbb", "ccc"}
Dim Array2() As String = {"aaa", "bbb", "ccc"}

配列の宣言と同時に初期化した例です。
New String() を省略する事もできます。

下記のように、要素数を指定するとエラーとなります。

Dim Array1(2) As String = New String() {"aaa", "bbb", "ccc"}  'エラー
Dim Array2(2) As String = {"aaa", "bbb", "ccc"}  'エラー

型を指定しない場合の初期化

Dim Array3 = {"aaa", "bbb", "ccc"}
Dim Array4 = {10, 20, 30}
Dim Array5 = {10.0R, 20.0, 30.0}

Console.WriteLine(Array3.GetType().Name) ' 出力:String[]
Console.WriteLine(Array4.GetType().Name) ' 出力:Int32[]
Console.WriteLine(Array5.GetType().Name) ' 出力:Double[]

型を省略した書き方もできます。

型を自動判別し、適切な型で初期化されます。

下記のように、カッコをつけても問題ありません。

Dim Array3() = {"aaa", "bbb", "ccc"}
Dim Array4() = {10, 20, 30}
Dim Array5() = {10.0R, 20.0, 30.0}
スポンサーリンク

要素数を指定して初期化

Dim array6(5) As String
'Dim array7 As String(5) 'エラー

要素数を指定して初期化する場合の書き方です。

2番目の書き方はできません。

要素数に変数を利用する方法

Dim i As Integer = 2
Dim array8(i) As String

要素数に変数を設定する事もできます。

空の配列と再宣言 Redim

Dim array9() As String
'array9 = New String(5) 'エラー
ReDim array9(5)

空の配列を宣言しておく事もできます。

しかし、そのあと、Newを使って新しい配列を作る事はできません。

新しく配列を作る場合は、ReDimを使って配列を再宣言します。

通常の変数のような初期化はできない

Dim i As New Integer

Dim array10() As New String 'エラー
Dim array11(5) As New String 'エラー
Dim array12() As New String() 'エラー
Dim array13(5) As New String() 'エラー

Integer型のように、Newを使って初期化する事はできません。


以上、様々な配列の初期化方法でした。