ヘッダー

VB.NET2002対応 VB.NET2003対応 VB2005対応

 

Visual Basic 中学校 > VB.NET サンプル >

Do ~ Loopを使用したくり返し

ここではDoLoopを使用したくり返しのサンプルを紹介します。

ForNextを使用したくり返しのサンプルはFor ~ Nextを使用したくり返しを参照してください。

For EachNextを使用したくり返しのサンプルはFor Each ~ Nextを使用したくり返しを参照してください。

くり返し処理についての説明は初級講座第7回 繰り返し処理を参照してください。

 

1.単純な例

以下の例では無限に繰り返してメッセージボックスを表示する。

VB6対応 VB.NET2002対応 VB.NET2003対応 VB2005対応

Do
    MsgBox("こんにちは!")
    MsgBox("ご機嫌いかがですか?")
Loop

メモ:このプログラムを終了させるには開発環境の停止ボタンVisual Basic 2005 プログラムの実行停止を押してください。

 

2.終了条件を指定する例

以下の例では変数Countの値が0になるまで何回も繰り返してメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim Count As Integer

Count = 5

Do
Until Count = 0
    MsgBox(Count)
    Count -= 1
Loop

メモ:Doの行ではなく、Loopの行に終了条件を記述することもできます。この場合終了条件を判断するタイミングが変わります。

 

3.継続条件を指定する例

以下の例では変数Countが0より大きい場合、何回も繰り返してメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim Count As Integer

Count = 5

Do
While Count > 0
    MsgBox(Count)
    Count -= 1
Loop

 

4.ループから抜け出す例

以下の例では変数UserNameの文字数が1以上の場合にループから抜け出す。

VB6対応 VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim UserName As String

Do

    UserName = InputBox("名前を入力してください。")

    If
Len(UserName) > 0
Then
       
Exit Do
   
End If

Loop

メモ:この例が示しているようにExit Doを使用するとLoopの次の行にジャンプします。

 

5.ループを継続する

以下の例では変数UserNameの文字数が1以上の場合にループから抜け出す。ただし、UserNameAdministratorの場合は抜け出さない。

VB2005対応

Dim UserName As String

Do

   
UserName = InputBox("名前を入力してください。")

    If
UserName = "Administrator"
Then
       
Continue Do
   
End If

   
If Len(UserName) > 0 Then
       
Exit Do
   
End If

Loop

メモ:この例が示しているようにContinue Doを使用するとDoの次の行にジャンプします。