c# - 按下回车键时重置时钟
问题描述
我创建了一个 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();
}
}
解决方案
问题是,您只在程序开始时读取当前按键一次。Console.Readkey()
将等待您按下一个键,然后返回您按下的键(然后存储在 中_key
)。因为你从来没有在循环中读过另一个按键,所以_key
永远不会改变。
当然,您不能简单地Console.ReadKey()
在循环内调用,否则程序将暂停并等待您在每次迭代期间按下一个键,因此您需要遵循Aybe在他的评论中链接到的建议。
推荐阅读
- animation - 滚动上的动画 svg
- c - 未初始化的 C 指针
- javascript - 使功能同步 node.js
- python - 如何定期在电报机器人中发送 InlineKeyboardButton?
- android - 如何在 android studio xml 中启用视频视图?
- javascript - ReferenceError:产品未定义
- reactive-programming - 反应器与线程
- android-studio - 无法从 Android Studio 卸载 Atom System Image SDK
- python - 如何解决在 Python 中读取 json 文件时出现的问题?
- php - 将 WordPress Multisite 从本地主机迁移到公共主机(建立数据库连接时出错