C#Console.Readkey - 等待特定输入

tri*_*ock 9 console keypress

我正在编写一个小型的C#控制台应用程序.

我希望应用程序等待用户关于Y或N按键的指令(如果按下任何其他键,应用程序忽略此并等待Y或N然后运行依赖于Y或N的代码回答.

我想出了这个主意,

while (true)
{
    ConsoleKeyInfo result = Console.ReadKey();
    if ((result.KeyChar == "Y") || (result.KeyChar == "y"))
    {
         Console.WriteLine("I'll now do stuff.");
         break;
    }
    else if ((result.KeyChar == "N") || (result.KeyChar == "n"))
    {
        Console.WriteLine("I wont do anything");
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

可悲的是虽然VS说它不喜欢结果.Keychat ==因为操作数不能应用于'char'或'string'

有什么帮助吗?

提前致谢.

Gab*_*abe 14

KeyChar有一段char时间"Y"string.

你想要的是KeyChar == 'Y'相反的东西.


Gre*_*egM 5

检查这个

string result = Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

检查结果后