VB.NETのDo...Loop文のサンプルです。条件で処理を分岐する時に使用します。
目次
while | Do While ~ Loop |
Do ~ Loop While | |
Unitl | Do Until ~ Loop |
Do ~ Loop Until | |
Exit | Do While ...Loop文でExit Doを使用する |
Continue | Do While ...Loop文でContinue Doを使用する |
Do While ~ Loop
Do While 条件式 繰り返される箇所 Loop |
- 条件式が成立している間、処理が繰り返されます。
- 最初から条件が成立していない場合は、処理は1回も実行されません。
- 以下は、MicrosoftのDo...Loop文 (Visual Basic)のリンクです。
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/doloop-statement
Do While ~ Loopのサンプルです。
Module Module1
Sub Main()
Dim a As Integer = 0 '変数
Do While a < 5
Console.WriteLine(a) '0 1 2 3 4が出力される
a = a + 1
Loop
End Sub
End Module
5行目は、値が5より小さい間、処理を繰り返します。
7行目は、条件になる値を加算しています。
Do ~ Loop While
Do 繰り返される箇所 Loop While 条件式 |
- 条件式の判定が後ろにあるので、処理は必ず1回は実行されます。
- 条件式が成立している間、処理が繰り返されます。
Do ~ Loop Whileのサンプルです。
Module Module1
Sub Main()
Dim a As Integer = 0 '変数
Do
Console.WriteLine(a) '0 1 2 3 4が出力される
a = a + 1
Loop While a < 5
End Sub
End Module
8行目は、a< 5の間はループ処理が行われ、aが5になるとループが終了します。
6行目は、0から4が表示されます。
Do Until ~ Loop
Do Until 条件式 繰り返される箇所 Loop |
- 条件式が成立するまで、処理が繰り返されます。
- 最初から条件が成立している場合は、処理は1回も実行されません。
Do Until ~ Loopのサンプルです。
Module Module1
Sub Main()
Dim a As Integer = 0 '変数
Do Until a > 3
Console.WriteLine(a) '0 1 2 3が出力される
a = a + 1
Loop
End Sub
End Module
5行目は、a> 3の間はループ処理が行われ、aが4になるとループが終了します。
6行目は、0から3が表示されます。
Do ~ Loop Until
Do 繰り返される箇所 Loop Until 条件式 |
- 条件式の判定が後ろにあるので、処理は必ず1回は実行されます。
- 条件式が成立していない間、処理が繰り返されます。
Do ~ Loop Until のサンプルです。
Module Module1
Sub Main()
Dim a As Integer = 0 '変数
Do
Console.WriteLine(a) '0 1 2 3が出力される
a = a + 1
Loop Until a > 3
End Sub
End Module
8行目は、a>3になるまでループ処理が行われ、aが4になるとループが終了します。
6行目は、0から3が表示されます。
Do While ...Loop文でExit Doを使用する
Exit Do |
- Doのループ文でExit Doを使用すると、ループ文から抜けることができます。
- 以下は、MicrosoftのExitのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/exit-statement
Do While ...Loop文でExit Doを使用するサンプルです。
Module Module1
Sub Main()
Dim a As Integer = 0 '変数
Do While a < 10
If a = 3 Then
Exit Do
End If
Console.WriteLine(a) '0 1 2が出力される
a = a + 1
Loop
End Sub
End Module
7行目のExit Doは、Do...Loop文を抜けます。
そのため9行目の文字列の出力は0,1,2のみ出力されます。
Do While ...Loop文でContinue Doを使用する
Continue Do |
- Doのループ文でContinue Doを使用すると、ループ処理の先頭に戻ります。
- 以下は、MicrosoftのContinueのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/continue-statement
Do While ...Loop文でContinue Doを使用するサンプルです。
Module Module1
Sub Main()
Dim a As Integer = 0 '変数
Do While a < 3
If a = 1 Then
a = a + 1
Continue Do
End If
Console.WriteLine(a) '0 2が出力される
a = a + 1
Loop
End Sub
End Module
8行目のContinue Doでループ処理の先頭の5行目に戻ります。
10行目は、0と2が出力されます。
関連の記事
VB.NET If文のサンプル
VB.NET For文 処理を繰り返す(Exit/Continue)
VB.NET While文のサンプル(Exit/Continue)