1次元配列の宣言と代入 [VB]

VB2012-2019

配列変数

今までのサンプルプログラムでは、data1, data2, data3.... のように、必要な数だけ変数を宣言していました。

しかし、同一種類のデータ数が多かったり、データ数がわからない場合などは、変数を多めに宣言する必要があります。プログラム自体が長くなって、修正が面倒になってきます。

このようなときに備えて、配列変数というものが用意されています。配列変数を使えば、すっきりしたプログラムを書くことができ、プログラムも短くなります。

まずは、簡単な1次元配列のプログラムを作成してみます。

データ数を指定して宣言

1次元配列を宣言するためには、()を使って、カッコの中に要素数(データ数)を指定します。

たとえば、データ数が5個の整数配列変数kakakuを宣言するときは、kakaku(4)になります。

要素数が5個の整数型配列変数 kakaku(4) を宣言すると、kakaku(0)、kakaku(1)、kakaku(2)、kakaku(3)、kakaku(4)の5つの変数が使えるようになります。

kakaku(5)と、宣言しないので注意してください。

' 要素数が5個の整数配列変数の宣言
Dim kakaku(4) As Integer

()の内の数字のことを、添え字とかインデックスと言い、添え字は0から始まります。1からではないので、気を付けてください。

要素数が10個の文字列配列変数を宣言します。

個別の配列要素は、namae(0)、namae(1)、namae(2)、.....、namae(9)の10個の要素になります。

' 要素数が10個の文字列配列変数の宣言
Dim namae(9) As String

配列変数を使ったサンプルプログラム

文字列の配列変数を使ったサンプルプログラムを作成します。

ループ処理を利用して、値を代入するので、プログラムが短くなります。ループ処理が使ってプログラムを短くできるのが、配列変数のメリットです。

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

Module Module1

    Sub Main()
        ' 配列文字列変数の宣言
        Dim str(10) As String

        For i As Integer = 0 To 10
            ' 文字列の連結
            str(i) = (i + 1) & "行目"
            ' 文字列の表示
            Console.WriteLine(str(i))
        Next

    End Sub

End Module

実行結果は次のようになります。

配列実行結果

配列を使わずにプログラムを書くと、個々の文字列変数に一つずつ代入することになり、プログラムも長くなります。

'配列使わないと
Dim str0 As String = "1行目"
Dim str1 As String = "2行目"
Dim str2 As String = "3行目"
Dim str3 As String = "4行目"
Dim str4 As String = "5行目"
............................
............................
Dim str10 As String = "11行目"