VB.NETのExit文とContinue文の使い方を完全ガイド!初心者向け解説
生徒
「VB.NETでループを途中で抜けたり、特定の処理だけ飛ばしたい場合ってどうすればいいですか?」
先生
「それにはExit文とContinue文を使います。Exit文はループや処理を途中で終了し、Continue文は次の繰り返しに進めます。」
生徒
「えっと、Exit文とContinue文ってどう違うんですか?」
先生
「Exit文はループ全体や処理ブロックを完全に抜けます。一方でContinue文は現在の繰り返しだけをスキップして、ループは続きます。」
1. Exit文とは?
VB.NETのExit文は、Forループ、Whileループ、Doループ、Select Case文などを途中で終了させるための文です。処理の途中で条件に応じてループを抜けたい場合に便利です。
For i As Integer = 1 To 10
If i = 5 Then
Exit For 'iが5になったらループを抜ける
End If
Console.WriteLine(i)
Next
1
2
3
4
この例では、iが5になった時点でループを抜けます。Exit Forにより5以降の処理は実行されません。
2. Continue文とは?
VB.NETのContinue文は、現在のループの残りの処理をスキップして、次の繰り返しに進めるための文です。条件に応じて特定の処理だけを飛ばしたい場合に使います。
For i As Integer = 1 To 5
If i = 3 Then
Continue For 'iが3のときだけスキップ
End If
Console.WriteLine(i)
Next
1
2
4
5
この例では、iが3のときConsole.WriteLineがスキップされ、次のループに進みます。
3. Exit文とContinue文の使い分け
簡単に言うと、Exit文はループや処理全体を終了させ、Continue文は現在の繰り返しだけをスキップして続行させます。どちらを使うかは処理の意図によって決まります。
For i As Integer = 1 To 10
If i = 5 Then
Exit For '条件を満たしたら完全にループ終了
ElseIf i = 3 Then
Continue For '3だけスキップ
End If
Console.WriteLine(i)
Next
1
2
4
4. 実践例:ユーザー入力のチェック
ユーザー入力をループで確認する際にもExit文とContinue文が役立ちます。
Dim inputs() As String = {"apple", "", "banana", "orange", ""}
For Each fruit As String In inputs
If fruit = "" Then
Continue For '空文字はスキップ
End If
Console.WriteLine("入力値: " & fruit)
If fruit = "banana" Then
Exit For 'bananaが出たらループ終了
End If
Next
入力値: apple
入力値: banana
空文字は無視し、bananaが出たらループを抜けています。
5. 注意点
- Exit文を使うとループや処理を途中で終了するため、後続処理が実行されません
- Continue文は現在の繰り返しだけスキップしますが、ループ自体は続きます
- ループの中でExit文やContinue文を多用しすぎると可読性が下がるので注意
- Forループ、Whileループ、Doループなど、対象のループに応じて適切に使う
まとめ
本記事では、VB.NETにおけるExit文とContinue文の使い方について、基本から応用まで詳しく解説しました。Exit文はループや処理全体を途中で終了させ、Continue文は現在の繰り返し処理だけをスキップして次の繰り返しに進む文です。これらを適切に使い分けることで、ループ処理を柔軟かつ効率的に制御することが可能です。
例えば、ユーザー入力や配列のデータをループで処理する際に、不要なデータをスキップしたい場合にはContinue文を使い、特定の条件に達したらループ全体を終了させたい場合にはExit文を使用します。適切な文の選択により、処理の意図が明確になり、可読性や安全性の高いプログラムを書くことができます。また、ループ中の条件分岐と組み合わせることで、より実践的で柔軟な制御が可能です。
サンプルプログラムの振り返り
' 配列内のデータをチェック
Dim items() As String = {"apple", "", "banana", "orange", ""}
For Each item As String In items
If item = "" Then
Continue For '空文字をスキップ
End If
Console.WriteLine("入力値: " & item)
If item = "banana" Then
Exit For 'bananaが出たらループ終了
End If
Next
' 複数条件でExitとContinueを使い分ける例
For i As Integer = 1 To 10
If i = 3 Then
Continue For '3だけスキップ
ElseIf i = 7 Then
Exit For '7になったらループ終了
End If
Console.WriteLine(i)
Next
入力値: apple
入力値: banana
1
2
4
5
6
このサンプルでは、空文字をContinue Forでスキップし、特定の値に達したらExit Forでループを終了する実践的な使い方を学びました。条件に応じてループを柔軟に制御する方法を理解することは、VB.NETで効率的なプログラムを作る上で非常に重要です。
生徒
「Exit文とContinue文をうまく使うと、ループの処理を細かくコントロールできるんですね。」
先生
「そうです。Exit文はループを完全に抜けたい場合に使い、Continue文は不要な処理だけを飛ばして次に進める場合に使います。」
生徒
「例えば、空文字をスキップしたいときや、特定の値が出たら処理を止めたいときに使えるんですね。」
先生
「その通りです。これを理解すると、複雑な配列処理やユーザー入力のチェックも効率的に行えます。可読性を保ちながら処理を制御できるのも大きなメリットです。」
生徒
「ループ中の条件分岐と組み合わせることで、より実践的な処理ができるんですね。」
先生
「その通り。Exit文とContinue文を適切に使い分けることで、VB.NETで安全で効率的なプログラムを書く力がつきます。」