Exit For 強制終了 [VB]

終了条件を満たす前にループから抜ける

繰返し制御文
For Next
For Next 入れ子
For Step Next
For Each Next
Exit For 強制終了
Do While Loop
Do Until Loop
Do Loop While
Do Loop Until
Exit Do 強制終了

For Next ループ処理中に、Exit For を記述すると、強制的に Next の次にプログラムの制御を移すことができます。

たとえば、For Next ステートメントで、指定回数の処理を繰り返す前に、For Next を抜けたい時は、For Next を抜けたいところに、Exit For を記述すれば、即座に Next の次からプログラムが再開されます。

Exit For


Exit For を使ったサンプルプログラム

キーボードから正の整数を10個または、0かマイナスの整数を入力したら、それまでに入力した整数の合計値を表示するプログラムを作成します。ただし、プログラム終了のために入力した0またはマイナスの整数は加算しません。

ソースリストの枠内をクリックすると全選択できます。

Module Module1

  Sub Main()
      Console.WriteLine("*** 入力値の合計を求める ***")
      Console.WriteLine("0以下を入力したら合計値を表示")
      Console.WriteLine()        ' 改行

      ' 変数の宣言
      Dim inStr As String
      Dim inNum As Integer
      Dim sum As Integer = 0

      ' キーボードから最大10回整数を入力し
      ' その合計を求める
      For i As Integer = 1 To 10
          Console.WriteLine(i & "番目の数字を入力して")
          Console.WriteLine("Enterキーを押してください")
          ' キーボードから入力
          inStr = Console.ReadLine()
          ' 文字列を整数に変換
          inNum = Integer.Parse(inStr)
          ' 入力値の判定
          If inNum <= 0 Then
              ' 0以下を入力したら、For Nextを抜ける
              Exit For
          Else
              ' 入力値を前回までの合計値に加算
              sum = sum + inNum
          End If
      Next

      ' 合計値を表示
      Console.WriteLine()        ' 改行
      Console.Write("入力した整数の合計は ")
      Console.Write(sum)
      Console.Write(" です")
      Console.WriteLine()        ' 改行
  End Sub

End Module

次回は、Do While Loop について学習します。

次回: Do While Loop