前回Forループのご説明をしました。
他にも繰り返しのコマンドがありますので、そちらをご紹介します。
Do Until 条件式
・
・
・
Loop
こちらのDoループは条件式が成立するまで繰り返しを行います。例えば以下ように。
(略)
Dim i As Integer = 1 '(1)
Dim intSum As Integer = 0 '(2)
Do Until i > 100 '(3)
intSum += i '(4)
i += 1 '(5)
Loop '(6)
(略)
上記は前回のForループの辺りをDoループに置き換えたものです。
(1)、(2)で使用する変数を宣言しています。Forループの時はForコマンドの中でiに1を設定していましたが、Doループには初期値を設定する場所がないので予め設定しておきます。
(3)はiが100を超えるまでLoopまでの処理を繰り返すというものです。
(4)でintSumにiを足しこんでいきます。
(5)の処理でiを1ずつカウントアップしています。この処理は非常に重要です。もしこの処理の記載を忘れると、iがずっと0となり、100を超えることがありません。したがって、いつまで経ってもループが終わらない「無限ループ」となっていまいます。
このようなカウントアップの式は絶対忘れないようにいましょう。
Do〜Loopの他にもWhile〜End Whileというループもあります。こちらは、条件式が成り立っている間だけループを繰り返すというものです。上のプログラムをWhile〜End Whileと置き換えると以下のような表現になります。
(略)
Dim i As Integer = 1 '(1)
Dim intSum As Integer = 0 '(2)
While i <= 100 '(3)
intSum += i '(4)
i += 1 '(5)
End While '(6)
(略)
(3)でiが100以下の間だけ(6)まで繰り返し処理をします。
ご紹介したループのパターンを理解し、状況に応じて使い分けて下さい。 |