如何在C#中打破while循环.打破不工作

-8 c# break while-loop

我似乎无法while使用break语句突破这个循环.这是我的代码:

while (true) {
            Console.WriteLine("What is 1 + 1?");
            int answer = Convert.ToInt32(Console.ReadLine());
            if (answer != 2)
            {
                Console.WriteLine("Wrong answer. Press enter to get your next sum");
                Console.ReadLine();
            }

            else if (answer == 2)
            {
                Console.WriteLine("Well done. Press enter to get your next sum");
                Console.ReadLine();
                break;
            }
        }

        Console.WriteLine("What is 1 + 3");
        int answer2 = Convert.ToInt32(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)

Chr*_*sto 6

当您输入不同于2的数字时,您实际上读取了另一条您不处理的行:

if (answer != 2)
{
    Console.WriteLine("Wrong answer. Press enter to get your next sum");
    Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

你的困惑可能是因为这条线.将其更改为:

if (answer != 2)
{
    Console.WriteLine("Wrong answer. Press enter to get your next sum");
}
else{
    Console.WriteLine("Correct answer");
    break;
}
Run Code Online (Sandbox Code Playgroud)