【发布时间】:2018-05-11 11:01:08
【问题描述】:
时钟将自动运行 myclock.Tick 并显示在控制台上。 我想在按空格键时重置时钟。
但是,当我按下空格键时,我似乎无法结束循环。
那么,如何通过键盘输入重置时钟?
是因为 console.readkey
正确的 Program.cs:
public static void Main(string[] args)
{
Clock myclock = new Clock();
while (true)
{
Console.WriteLine("Press 'spacebar' to view the time and 'r' to reset the time");
if (Console.ReadKey().Key == ConsoleKey.Spacebar)
{
for (int i = 0; i < 86400;i++)
{
myclock.displayTime();
Thread.Sleep(1000);
myclock.Update();
if (Console.KeyAvailable)
{
ConsoleKeyInfo cki = Console.ReadKey(true);
if (cki.Key == ConsoleKey.R)
{
myclock.ClockReset();
Console.WriteLine("\nClock has been reset");
break;
}
}
}
}
}
【问题讨论】:
-
所以你想结束循环或重置时钟?
-
我想按空格键重置时钟
-
我不认为这种方法是正确的,也许如果您告诉我们,您想要达到什么目标,我们将能够为您提供帮助。
标签: c# for-loop input keyboard