概要
繰り返し処理がしたい場合には Do Loop ループ が使えます。処理条件がないということは、処理を止める条件もないということなので、永遠にループしてしまいます。そこで、 Exit Do を使って強制的に処理を抜けます。Do Loop 処理の仲間には下記の5種類が居ます。
Do while Loop : 条件に充てはまると処理
Do Loop while : 1回は処理をしてから条件に充てはまると処理
Do Until Loop : 条件に充てはまらないと処理
Do Loop Until : 一回は処理してから条件に充てはまらないと処理
Do Loop :Exit Do を指定しないとループを抜けない
考え方としては、「Do」 と 「処理」 と 「Loop」 があって、処理の前に条件を指定したければ、「処理」の前に書いて、処理の後に条件を指定したければ 「Loop」の間に書く、処理中に判断したければ、「Do」 と 「Loop」間に書くイメージです。
Do (処理をやる or やらない 条件式) 処理... (処理をやる or やらない 条件式) Loop (処理をやる or やらない 条件式)
Do Loop の基本的な構文は下記の通りです。
Do 処理... (Exit Do で処理を抜ける) Loop
内容
サンプルコードは、コンソール画面からなにか入力されるまで、”何か入力してください”がループします。
イメージとしては、ゲームの主人公の名前を入力するまで、次に進まない感じです。
Module Module1 Sub Main() ' 変数の宣言 Dim inStr As String = "" ' 何か入力するまで続ける Do Console.WriteLine("名前を入力してください") ' キーボードから入力 inStr = Console.ReadLine() If Not inStr.Equals("") Then ' 入力があれば処理を抜ける Exit Do End If Loop ' 結果を表示 Console.WriteLine() ' 改行 Console.WriteLine("こんにちは") Console.WriteLine(inStr) Console.WriteLine("さん") End Sub End Module
名前を入力してください 名前を入力してください 名前を入力してください いぬづか こんにちは いぬづか さん 続行するには何かキーを押してください . . .
Exit Do は、Do Loop の他の仲間にも使う事が出来ます。
Do while Loop
Do Loop while
Do Until Loop
Do Loop Until
コメント