我创建了一个24小时制时钟,我希望能够在按Enter键时将其重置为00:00:00。时钟本身功能正常,但我无法正确包含重置功能
static void Main(string[] args)
{
Clock _clock = new Clock();
ConsoleKeyInfo _key = Console.ReadKey();
while (true)
{
Console.WriteLine(_clock.Time);
_clock.Tick();
System.Threading.Thread.Sleep(1000);
if (_key.KeyChar == (char)13)
{
_clock.Reset();
}
}
答案 0 :(得分:1)
问题是,您仅在程序的开头读取一次当前按键。 Console.Readkey()
将等待您按下一个键,然后返回您按下的键(然后将其存储在_key
中)。因为您从不会读取循环中的其他按键,所以_key
永远不会改变。
当然,您不能简单地在循环内调用Console.ReadKey()
,否则程序将在每次迭代过程中暂停并等待您按一个键,因此您需要遵循advice Aybe linked to在他的评论中。