前回の記事では、VB.netのSelect文を記載しました。
今回の記事では、繰り返しとしてfor文を取り上げます。
配列(Array)の値を一つずつ抽出して、まとめてmessageに入れるといったことをプログラムで行います。
配列(array1)
0 | 1 | 2 |
---|---|---|
A | B | C |
数字の部分は、配列(array1)の添え字(index:通し番号)です。ポイントは、1番目が0から始まることです。
プログラミング言語によっては、添え字の始まりが違うこともあるので気を付けましょう。
さて、まずはarray1を宣言し、messageに付け加えていきましょう。
Dim array1() As String = {"A", "B", "C"}
Dim message As String = ""
message = array1(0)
message &= array1(1)
message &= array1(2)
このように書くと、messageには、ABCという値が入ります。&=は、文字列の追加を意味します。
もっと、クールな書き方があるよ!
という方もいるでしょうが、初学者向けなのでこう書いています。
さて、このプログラミングではarray1()の要素("A"や"B","C")の数が3つと決まっているので、問題はありませんが、要素数が3つでない場合はどうするべきでしょうか?
その際の例の一つが、繰り返し(for)文を使ったものです。
Dim array1() As String = {"A", "B", "C"}
Dim message As String = ""
For i = 0 To array1.Count - 1
message &= array1(i)
Next i
上記の書き方です。
この書き方であれば、要素数が3以外でもプログラムを変更する必要がないですよね。
ポイントは、iという使い捨て(スコープの関係のため)の変数を用意して、配列の0からarray1の要素数(3つ)から1を引いた数("C")までの値を取り出して、messageに付け加えている点です。初学者は、要素数 - 1 を忘れやすいので気を付けましょう。 試しに - 1 を取り除くと、indexOutOfRangeExceptionといった内容(配列の範囲外)が実行の際に起きるはずです。
まとめ
繰り返しには、for文が使えないかを試してみましょう。
for文配列に対して利用する際には、要素数 - 1を忘れないようにしましょう。