我刚开始学习C#,想扩大我掌握的编程语言范围,但我遇到了一个小问题,在C和Java中都没有遇到过。
我正在尝试从键盘获取用户响应,然后将其与可能的情况进行比较,如果没有匹配的情况,则要求用户重复该过程,直到输入正确的值为止。
String input = Console.ReadLine();
while ((input[0] != 'N') || (input[0] != 'Y'))
input = Console.ReadLine();
if (input[0] == 'N')
{
Console.WriteLine("NO");
Console.ReadKey();
}
else if (input[0] == 'Y')
{
Console.WriteLine("YES");
Console.ReadKey();
}
这绝不是我尝试过的最有效的方法,我还尝试了使用do while循环和许多其他变体。
我遇到的问题是,当while循环未激活时,一切正常运行,但当我添加它时,即使输入为N或Y,它也总是进入循环,并且永远无法离开循环,尽管很明显是错误的。
如果有人能给我一些见解,解释为什么会发生这种情况,或者如果有人可以提出更好的解决方法,那将非常感激。谢谢。
Karim