Visual Basic の配列の概要
更新 : 2007 年 11 月
配列は、学校の各学年の生徒の数など、互いに論理的に関連する一連の値です。
配列を使うと、これらの関連する値を同じ名前で参照できます。配列の各要素を区別するには、インデックスまたは添字と呼ばれる番号を使います。個々の値は、配列の要素と呼ばれます。これは、インデックス 0 から最も大きいインデックス値まで連続しています。
例
次の例では、学校の各学年の生徒の数を保持するために、配列変数を宣言しています。
Dim students(6) As Integer
上の例の students 配列には、7 つの要素が含まれています。要素のインデックスの範囲は 0 から 6 までです。7 つの異なる変数を宣言するよりも、この配列の方がより簡単です。
students 配列を次の図に示します。配列の各要素は、次のとおりです。
要素のインデックスは、学年を表します (インデックス 0 は幼稚園を表します)。
要素に含まれている値は、その学年の生徒の数を表します。
"生徒" 配列の要素
次の例は、students 配列の先頭の要素、2 番目の要素、および最後の要素を参照する方法を示します。
Dim kindergarten As Integer = students(0)
Dim firstGrade As Integer = students(1)
Dim sixthGrade As Integer = students(6)
MsgBox("Students in kindergarten = " & CStr(kindergarten))
MsgBox("Students in first grade = " & CStr(firstGrade))
MsgBox("Students in sixth grade = " & CStr(sixthGrade))
インデックスを持たない配列変数名だけを使用して、配列全体を参照できます。
配列の型および他の型
データ型
すべての配列にデータ型がありますが、要素のデータ型とは同じではありません。たとえば、前の例の students 配列は Integer() 型であり、その要素のそれぞれは Integer 型です。Integer() の表記は、Integer 要素の配列を意味します。詳細については、「Visual Basic における配列データ型」を参照してください。
すべての配列は、System.Array クラスから継承しています。また、Array 型として変数を宣言できますが、Array 型の配列は作成できません。また、ReDim ステートメント (Visual Basic) は、Array 型として宣言された変数上では使用できません。これらの理由やタイプ セーフにより、すべての配列を、前の例の Integer などの特定の型として宣言することをお勧めします。
配列の次元
前の例の students 配列では、1 つのインデックスが使用されており、これを 1 次元と言います。複数のインデックスまたは添字が使用されている配列は、多次元と呼ばれます。
他の種類の配列とは、要素として他の配列を保持している配列です。これは、配列の配列またはジャグ配列と呼ばれます。ジャグ配列およびその要素は、1 次元または多次元のいずれかになることができます。
対照的な型
配列とは対照的に、変数には、スカラ変数と呼ばれる単一の値が含まれています。
配列は、コレクションとは異なります。詳細については、「配列の代わりとしてのコレクション」を参照してください。