プログラミングでは、繰り返し処理を制御するために
ContinueやBreakなどのキーワードが利用されます。
今回は、VB.netのFor文でこれらをどのように使用するかについて解説します。
for文ではcontinueが使えない
Continueは、For文内で処理をスキップして次の繰り返しに進むためのキーワードです。
以下はその書き方です。
For i As Integer = 1 To 10
If i = 5 Then
Continue For
End If
' Continueが実行された場合、この部分はスキップされます。
Console.WriteLine(i)
Next
この例では、iが5のとき、Continue Forが実行されています。
そのため、Console.WriteLine(i)がスキップされ、5以外の値が表示されます。
for文で途中で止める
Breakは、For文内で処理を中断してループを終了するためのキーワードです。
以下はその書き方です。
For i As Integer = 1 To 10
If i = 5 Then
Exit For
End If
' Breakが実行された場合、この部分でループが終了します。
Console.WriteLine(i)
Next
この例では、iが5のとき、Exit Forが実行されています。
そのため、5より大きい値は表示されず、ループが終了します。
for-each文で途中で止める
Dim numbers() As Integer = {1, 2, 3, 4, 5}
For Each num As Integer In numbers
If num = 3 Then
Exit For
End If
' Exitが実行された場合、ここでループが終了します。
Console.WriteLine(num)
Next
上記の例では、numが3のとき、Exit Forが実行されています。
そのため、3より後の要素は表示されません。
for-each文で次へスキップ
Dim numbers() As Integer = {1, 2, 3, 4, 5}
For Each num As Integer In numbers
If num = 3 Then
Continue For
End If
' Continueが実行された場合、ここでの処理はスキップされます。
Console.WriteLine(num)
Next
上記の例では、numが3のとき、Continue Forが実行されています。
そのため、3は表示されず、スキップされています。
do-while文で途中で止める
Dim i As Integer = 1
Do While i <= 5
If i = 3 Then
Exit Do
End If
' Exitが実行された場合、ここでループが終了します。
Console.WriteLine(i)
i += 1
Loop
上記の例では、iが3のとき、Exit Doが実行されています。
そのため、3より後の処理は実行されません。
do-while文で次へスキップ
Do While文ではContinueが直接サポートされていないため、
While文とExit Doを組み合わせてスキップの効果を得ます。
Dim i As Integer = 1
Do While i <= 5
If i = 3 Then
i += 1
Continue Do
End If
' Continueが実行された場合、ここでの処理はスキップされます。
Console.WriteLine(i)
i += 1
Loop
上記の例では、iが3のとき、Continue Doが実行されています。
そのため、3は表示されず、スキップされています。
まとめ
ContinueとBreakは、For文内で処理の流れを制御するための重要なキーワードです。
Continueは特定の条件の場合に処理をスキップし、Breakは条件に合致した場合にループを終了させます。
適切に使用することで、より柔軟かつ効果的なプログラミングが可能となります。