我不知道是不是只是我很厚,但我有一些验证码来检查是或否答案。
我似乎无法让它工作我已经在我的程序中的其他地方使用了代码并且它可以正常工作,但如果有错误我无法发现错误。无论如何,代码都会贯穿整个输入字符。
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();
}
答案 0 :(得分:8)
你的逻辑错误。你想使用&&而不是||。
while (correctDestenation != "y" && correctDestenation != "n")
或者,您可以使用De Morgan's Law并以另一种方式查看它,这相当于:
while (!(correctDestenation == "y" || correctDestenation == "n"))
答案 1 :(得分:2)
这个条件总会得到满足,因为一个字符不会等于'y'或等于'n'。使用&&而不是||。
答案 2 :(得分:1)
你如何使用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();
}