ptr*_*x01 3 c# console-application
我正在处理我的程序的一小部分,处理输入,基本上我有这个小代码:
bool Done = false;
while (!Done)
{
ConsoleKeyInfo key = Console.ReadKey(true);
if (key.Key == ConsoleKey.Enter)
{
//Action
}
}
Run Code Online (Sandbox Code Playgroud)
这个问题的主要问题是代码甚至会在动作之间处理ReadKey.
因此,如果你有一个菜单,你可以按键,然后它会说"你按下:x",如果你按下任何按钮,而它显示你的消息,ReadKey已经获得了新的密钥.
所以我想阻止任何进一步的输入,直到用户再次看到菜单.
不太确定这是否有意义,个人我喜欢它,当击键不消失,我可以提前输入.但你可以像这样刷新键盘缓冲区:
while (!Done)
{
while (Console.KeyAvailable) Console.ReadKey(true);
ConsoleKeyInfo key = Console.ReadKey(true);
// etc..
}
Run Code Online (Sandbox Code Playgroud)