Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c!=操作员工作不正常_C#_Validation_Operators - Fatal编程技术网

C# c!=操作员工作不正常

C# c!=操作员工作不正常,c#,validation,operators,C#,Validation,Operators,我不知道是不是因为我太厚,但我有一些验证代码来检查答案是还是不是 我似乎无法让它工作我已经在我的程序的其他地方使用了代码,它工作了,但如果有错误,我无法发现错误。不管输入字符是什么,代码都会在while中运行 string correctDestenation = Console.ReadLine().ToLower(); while (correctDestenation != "y" || correctDestenation != "n") { Console.WriteLine(

我不知道是不是因为我太厚,但我有一些验证代码来检查答案是还是不是

我似乎无法让它工作我已经在我的程序的其他地方使用了代码,它工作了,但如果有错误,我无法发现错误。不管输入字符是什么,代码都会在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")
    while (correctDestenation != "y" && correctDestenation != "n")
    {
           Console.WriteLine("Oops! You must enter a 'y' for yes and a 'n' for no");
           correctDestenation = Console.ReadLine().ToLower();
    }

它不应该是| |你必须使用&&在怀疑运算符之前,怀疑你自己的逻辑和代码。我认为断言不等式运算符!=不起作用。