配列

要素数を指定しない配列の宣言

次の2とおりのどちらで書いてもかまいません

Dim x() As String
Dim x As String()

配列への値代入

次の2とおりのどちらで書いてもかまいません

x = New String() {"いち", "に", "さん"}
x = {"いち", "に", "さん"}

配列の宣言+初期化

配列の宣言と同時に初期化をすることができます。次のうち、どの書き方でも書いてもかまいません。

Dim x() As String = New String() {"いち", "に", "さん"}
Dim x() As String = {"いち", "に", "さん"}
Dim x As String() = New String() {"いち", "に", "さん"}
Dim x As String() = {"いち", "に", "さん"}

要素数を指定した配列の宣言

要素数を指定する場合は、添え字は変数側にしか書けません。型側に書くとコンパイルエラーとなります。

また、宣言と同時に初期化することはできません。

Dim x(3) As String ’ これはOK
Dim x As String(3) ' コンパイル・エラーとなる
Dim x(3) As New String ' コンパイル・エラーとなる
Dim x(3) As String =  {"いち", "に", "さん"} ' コンパイル・エラーとなる

 

要素数の変更

ReDimにより要素数を変更することができます。

Preserveキーワードを付けると、すでに設定されている値を保持したまま要素数の変更ができます。

(ただし、内部的には新しい配列の作成→値の複写を行っているにすぎないのでコストは高いです。)

なお、ReDimで型を指定することはできません。

Dim x(2) As Integer
x(1) = 1
x(2) = 2
ReDim x(3) ’ 値は初期化される
ReDim Preserve x(3)  ’値は保持される

 

参考

Visual Basic における配列

VB.NETで配列を宣言するには?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です