如何在 c# 中注册任何击键时停止 while 循环

How do I stop a while loop when ANY keystroke is registered in c#

我一直在寻找答案,但我所能找到的只是针对用户输入特定键的解决方案。我想要按下任何键来停止循环中的重复消息。因此,如果没有按下任何键,循环的消息将继续。

do
{
    while (! Console.KeyAvailable) 
    {
        Console.WriteLine("\nWAKE UP."); //repeats forever until
    }       
} 
while (Console.ReadKey(true).Key != ConsoleKey.Escape); //here the key that stops the loop is Escape

return;

外部 do/while 循环导致您的内部循环重复,直到按下转义键。如果您删除 do/while 循环,您将得到您正在寻找的行为:

while (!Console.KeyAvailable) 
{
    Console.WriteLine("\nWAKE UP."); //repeats forever until
}       

我不太确定我是否理解问题的正确性,但这里的代码会打印消息,直到按下任何键。

while (!Console.KeyAvailable)
{
    Console.WriteLine("\nWAKE UP."); // Repeats forever until

    if (Console.KeyAvailable)
    {
        break; //Stop the loop after a key as been pressed
    }
}