方法 : 配列変数を初期化する

更新 : 2007 年 11 月

配列は、New (Visual Basic) 句の一部として、作成と同時に初期化できます。また、後続の代入ステートメントで、初期化することもできます。

初期化できる配列の要素は、次のとおりです。

  • 配列の次元の長さが指定される、インデックスの上限

  • いくつかの配列の要素、またはすべての配列の要素の値

これらのうちのいずれかを、他方を初期化せずに初期化できます。しかし、要素の値を指定して、上限を指定しない場合、指定した値の数によって上限が決まります。

作成時に、New 句で配列を初期化するには

  • New 句では、かっこの内側でインデックスの上限を指定し、中かっこ ({}) の内側で要素の値を指定します。次の例では、変数を宣言、作成、および初期化して、文字型 (Char) (Visual Basic) の要素と共に配列を保持し、上限および値を指定します。

    Dim testChars As Char() = New Char(2) {"%"c, "&"c, "@"c}
    

    このステートメントの実行の後で、変数 testChars の配列が長さ 3 になり、インデックス 0 からインデックス 2 の要素によって、初期化された値が保持されます。上限および値の両方を指定した場合、インデックス 0 から上限までの、すべての要素の値を含める必要があります。

    Char データ型への文字リテラルを強制する、リテラルの型文字 c に留意してください。既定では、型文字がない場合、引用符 (" ") に囲まれたリテラルは String を使用します。

    New 句で要素の値を指定した場合は、インデックスの上限を指定する必要はありません。次の例では、変数を宣言、作成、および初期化し、ブール型 (Boolean) (Visual Basic) の要素と共に配列を保持し、要素の値だけを指定します。

    Dim answers As Boolean() = New Boolean() {True, True, False, True}
    

    このステートメントの実行の後で、変数 answers の配列の長さが 4 になり、インデックス 0 からインデックス 3 の要素によって、初期化された値が保持されます。

要素を初期化せずに、インデックスの上限を初期化できます。この方法で配列を作成した場合、後続の代入ステートメントを使用して、それぞれの要素値を初期化する必要があります。

後続の代入ステートメントの配列を初期化するには

  1. 配列変数の宣言で、インデックスの上限を指定します。

  2. 1 つ以上の代入ステートメントを使用します。各代入ステートメントによって、配列の要素のいずれかに値が割り当てられます。次の例では、変数を宣言および作成し、文字列型 (String) (Visual Basic) の要素と共に配列を保持し、後続のステートメントで 2 つの要素の値を指定します。

    Dim comments(30) As String
    comments(0) = "This is the first comment."
    comments(5) = "This is the sixth comment."
    

    これらのステートメントの実行の後で、変数 comments の配列の長さが 31 になり、インデックス 0 および 5 の要素によって、初期化された値が保持され、他の 29 の要素によって既定値が保持されます。この方法で配列を初期化する場合、一部の要素だけを初期化し、その他の要素をスキップできます。

または

  • ReDim ステートメント (Visual Basic) を使用して、配列の長さを初期化します。

    ReDim comments(5)
    

    このステートメントの実行の後で、変数 comments の配列が長さ 6 になり、すべての要素によって既定値が保持されます。

    y13tek7e.alert_note(ja-jp,VS.90).gifメモ :

    インデックスの上限は、1 か所でだけ初期化できます。配列の変数名の後のかっこ内の上限を指定した場合、New 句を使用できません。New 句でかっこ内の上限を指定した場合、変数名の後のかっこを空にしておく必要があります。

参照

処理手順

方法 : 配列変数を宣言する

方法 : 配列を作成する

方法 : 多次元配列を初期化する

方法 : ジャグ配列を初期化する

配列のトラブルシューティング

概念

Visual Basic の配列の概要

その他の技術情報

Visual Basic における配列