sna*_*lex 1 c# command-line if-statement console-application while-loop
我有一个命令行要求用户说(Y/N),并将此值传递给checkResponse方法.
由于某种原因,while循环忽略该值,即使我调试它时显示的值为"Y".当值设置为"N"时,它也会继续循环.如果我将if语句移动到while语句下面,程序就会中途运行.我可以发送初始值"Y",而while语句将忽略它并开始在其中运行代码.
知道我缺少什么或过度看?
提前致谢.
public void checkResponse(string response, string confirmValue)
{
Console.WriteLine(response);
Console.WriteLine(response);
if (response == "Y")
{
return;
}
else if (response == "N")
{
Environment.Exit(0);
}
else
{
while ((response != "Y") || (response != "N"))
{
Console.Clear();
Console.WriteLine("\"" + response + "\" is not a valid response.");
Console.WriteLine();
Console.WriteLine("You entered:" + confirmValue);
Console.WriteLine("Is this correct? (Y/N)");
response = Console.ReadLine().ToUpper();
}
}
}
Run Code Online (Sandbox Code Playgroud)
tob*_*s86 11
从更改OR
为AND
逻辑运算符:
(response != "Y") && (response != "N")
Run Code Online (Sandbox Code Playgroud)