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を使って初期化する事はできません。


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

配列
スポンサーリンク
プログラミングランド