我正在尝试我的第一个基于 c# 控制台的游戏。我创建了一个居中的学分介绍,最后印有“按任意键继续...”。我曾经Console.ReadKey()
在等待用户输入时模拟暂停。问题是您可以“堆叠”输入,可能有一个更好的术语,但本质上,当控制台处于超时状态时,仍会读取关键输入并排队等待超时结束。例如;
//10 second wait
//this is where I would press a key
Thread.Sleep(10000);
char x = Console.ReadKey().KeyChar;
//x will be equal to whatever key I pressed before the timeout
这不是我想要的功能。有人对此有解决方案吗?不使用Thread.Sleep()
或Console.ReadKey()
如果您仍然不明白问题,请在Thread.Sleep()
仍然有效时按一个键,readkey,时间到后将打印该字符。有谁知道如何停止读取密钥?
如果您想要实际的项目代码,请询问。虽然我认为这与这个问题无关。