Exit Do 強制修了 [VB]

Visual Basic 文法[2015 2013 2012]

繰り返し処理を途中で抜ける

繰り返し処理を強制的に終了させるために Exit Do が用意されています。

Exit Do を使うと、直ちに繰り返し処理を終了し、Loop の次からプログラムを実行することになります。

Do Loop で繰り返し処理を書くと、繰り返しの終了判定がないので、繰り返し処理を永久に実行することになり、プログラムが終了しません。繰り返し処理をを抜けるために、Exit Do を使います。

Do While Loopや、 Do Until Loop のように繰り返し終了判定があっても、繰り返し処理を途中で抜ける必要がある時にも、Exit Do を使います。

Exit Do サンプルプログラム

Do Loop と、プログラムを使って、キーボードから入力した数値の合計を求めるプログラムを作成します。

end が入力されたら、合計値を表示してプログラムを終了します。

入力値を文字列から整数に変換するために、Integer.TryParse(入力文字列,変換後の整数)を使い、整数か否かを判定し、整数でなければ、再入力できるようにします。

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

Module Module1

  Sub Main()
      ' 変数の宣言
      Dim inStr As String
      Dim inNum As Integer = 0
      Dim sum As Integer = 0

      Console.WriteLine("入力した整数を合計します")

      ' end が入力されるまで入力を続ける
      Do
          Console.WriteLine("整数を入力して下さい")
          Console.WriteLine("end入力すると合計を表示します")
          ' キーボードから入力
          inStr = Console.ReadLine()
          ' 入力した文字列を整数に変換
          If Integer.TryParse(inStr, inNum) = True Then
              ' 整数に変換できた時
              ' 入力値を合計値に加算
              sum = sum + inNum
          Else
              ' 整数に変換できなかった時
              If inStr = "end" Then
                  ' end 入力なら Do Loop を抜ける
                  Exit Do
              Else
                  ' end 以外なら再入力
                  Console.WriteLine(inStr & "は整数ではありません")
              End If
          End If
       Loop

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

End Module

上の例では、繰り返し処理の終了判定は、 If inStr = "end" Then でしています。もし、"end"が入力されたら、Exit Do を実行して、繰り返し処理を抜けます。

[広告]