=操作符不能正常工作

本文关键字:工作 常工作 操作符 不能 | 更新日期: 2023-09-27 18:19:22

我不知道是不是我太笨了,但是我有一些验证代码来检查是或否的答案。

我似乎不能让它工作,我已经在我的程序的其他地方使用的代码,它的工作,但我不能发现错误,如果有一个。无论输入字符是什么,代码都会运行while语句。

string correctDestenation = Console.ReadLine().ToLower();
while (correctDestenation != "y" || correctDestenation != "n")
{
    Console.WriteLine(
        "Oops! You must enter a 'y' for yes and a 'n' for no");
    correctDestenation = Console.ReadLine().ToLower();
}

=操作符不能正常工作

你的逻辑不正确。你需要使用&&而不是||.

while (correctDestenation != "y" && correctDestenation != "n")

或者,你可以用德摩根定律,从另一个角度来看,也就是:

while (!(correctDestenation == "y" || correctDestenation == "n"))

该条件将始终得到满足,因为字符不会等于'y'或等于'n'。使用,,而不是||.

使用AND运算符

    while (correctDestenation != "y" && correctDestenation != "n")
    {
           Console.WriteLine("Oops! You must enter a 'y' for yes and a 'n' for no");
           correctDestenation = Console.ReadLine().ToLower();
    }