首页 > 解决方案 > 按下回车键时重置时钟

问题描述

我创建了一个 24 小时制的时钟,我希望能够在按下回车键时将其重置为 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();
            }
     }

标签: c#

解决方案


问题是,您只在程序开始时读取当前按键一次。Console.Readkey()将等待您按下一个键,然后返回您按下的键(然后存储在 中_key)。因为你从来没有在循环中读过另一个按键,所以_key永远不会改变。

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


推荐阅读