1次元配列の初期化 [VB]

VB2012-2019

宣言と同時に初期化

配列変数は、宣言と同時に初期値を設定することができます。

配列変数を宣言だけして、後から値を代入する方法もありますが、できるだけ宣言時に初期値を設定するように心掛けてください。

配列変数に限らず、変数はできるだけ宣言時に初期値を設定しましょう。

初期値を設定しないと、整数型配列変数は0で初期化され、文字型配列変数では空文字列で初期化されます。

宣言時に値を設定するときは、配列変数の添え字は記述できません。()だけを記述し、初期値の数だけ自動的に配列変数が割り当てられます。次の例を参考にしてください。

初期値を設定は、各初期値をカンマ , で区切って、[値1, 値2, 値3, ....] のように設定します。

  ' 整数配列変数の初期化
  Dim kakaku() As Integer = {120, 80, 55, 300, 168}

この例では、{120, 80, 55, 300, 168}の初期値を

kakaku(0)
kakaku(1)
kakaku(2)
kakaku(3)
kakaku(4)

の5個の配列変数に割り当てられます。

そして、{}内の値が順番に配列変数に代入されます。

一次元配列初期化

宣言時に初期値を指定しないと、配列の各変数に初期値を代入する必要があります。

また、宣言時には配列の要素の上限を指定する必要があります。

  Dim kakaku(4) As Integer
  kakaku(0) = 120
  kakaku(1) = 80
  kakaku(2) = 55
  kakaku(3) = 300
  kakaku(4) = 168

サンプルプログラム1

1次元配列変数を初期化して、その配列要素を表示するプログラムを作成します。

ソースリストの枠内をクリックすると全選択できます。

Module Module1

  Sub Main()
      '1次元整数配列変数の初期化
      Dim kakaku() As Integer = {120, 80, 55, 300, 168}
      ' 配列要素の表示
      For i As Integer = 0 To 4
          Console.WriteLine(kakaku(i))
      Next
  End Sub

End Module

サンプルプログラム2

次のサンプルプログラムでは、初期化した配列変数の値を、後から変更します。

kakaku(1)と、kakaku(3)をマイナスの値に書換えます。

また、For .... Next のループ回数を kakaku.Length - 1 にしました。.Length は要素数なので、配列の上限はそれよりひとつ少ないので、マイナス1 するだけです。

こちらのほうがスマートですね。

Module Module1

  Sub Main()
      ' 1次元整数配列変数の初期化
      Dim kakaku() As Integer = {120, 80, 55, 300, 168}
      ' 配列要素の値変更
      kakaku(1) =  kakaku(1) * -1
      kakaku(3) =  kakaku(3) * -1
      ' 配列要素の表示
      For i As Integer = 0 To kakaku.Length - 1
          Console.WriteLine(kakaku(i))
      Next
  End Sub

End Module