这是我正在谈论的代码。所以我希望用户只能写1或2,否则while循环永远不会中断。问题是,由于某种原因,即使我写1或2,循环也不会中断。
n^3
答案 0 :(得分:2)
caseSwitch
在任何时候都只有一个值,因此它将始终不是1或不是2。将||
替换为&&
。意味着只要caseSwitch
不为1也不为2,就循环播放。一旦停止,循环就停止。
while (caseSwitch != 1 && caseSwitch != 2)
{
Console.Write("Please write a number: ");
Int32.TryParse(userInput = Console.ReadLine(), out caseSwitch);
}
答案 1 :(得分:0)
注意:使用De Morgan's law可以解决此问题。
while (!(caseSwitch == 1 || caseSwitch == 2))
{
Console.Write("Please write a number: ");
Int32.TryParse(userInput = Console.ReadLine(), out caseSwitch);
}