While で繰り返し処理する
Dim str As String = String.Empty Dim ErrorCount As Integer = 0 While True Console.Write("文字「a」または「b」を入力してください >") str = Console.ReadLine() '入力された値を読み込む If (str = "a") Or (str = "b") Then Console.WriteLine("入力された文字: {0}", str) Exit While Else Console.WriteLine("「a」または「b」以外が入力されました ErrorCount=: {0}", ErrorCount) If ErrorCount > 5 Then Console.WriteLine(" {0} 回以上エラーが発生したため終了します", ErrorCount) Exit While Else ErrorCount += 1 Continue While End If End If End While Console.WriteLine("Enterキーを押すと終了します。") Console.ReadLine()
Continue を気にして、入れ子を減らすとこんな感じ。この例だとあまり意味がないが、処理が多い場合、判別時にはじかれたらすぐに次の値を処理できるので有効ですよねそうですよね。
While True If ErrorCount >= 5 Then Console.WriteLine(" {0} 回以上エラーが発生したため終了します", ErrorCount) Exit While End If Console.Write("文字「a」または「b」を入力してください >") str = Console.ReadLine() '入力された値を読み込む If Not ((str = "a") Or (str = "b")) Then ErrorCount += 1 Console.WriteLine("「a」または「b」以外が入力されました ErrorCount=: {0}", ErrorCount) Continue While End If Console.WriteLine("入力された文字: {0}", str) Exit While End While