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