按下Enter键时重置时钟

时间:2019-03-30 03:58:21

标签: c#

我创建了一个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();
            }
     }

1 个答案:

答案 0 :(得分:1)

问题是,您仅在程序的开头读取一次当前按键。 Console.Readkey()将等待您按下一个键,然后返回您按下的键(然后将其存储在_key中)。因为您从不会读取循环中的其他按键,所以_key永远不会改变。

当然,您不能简单地在循环内调用Console.ReadKey(),否则程序将在每次迭代过程中暂停并等待您按一个键,因此您需要遵循advice Aybe linked to在他的评论中。