侦听.NET控制台应用程序中的按键

侦听.NET控制台应用程序中的按键

如何继续运行控制台应用程序直到按下键(如ESC是按下的?)

我猜它绕了一会儿圈。我不喜欢ReadKey因为它阻止操作并请求一个键,而不是继续并监听键按。

这是如何做到的呢?


米脂
浏览 722回答 3
3回答

明月笑刀无情

使用Console.KeyAvailable所以你只能打电话ReadKey当你知道它不会阻塞时:Console.WriteLine("Press ESC to stop");do {     while (! Console.KeyAvailable) {         // Do something    }       } while (Console.ReadKey(true).Key != ConsoleKey.Escape);

繁花如伊

最短的路:Console.WriteLine("Press ESC to stop");while (!(Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.Escape)){     // do something}Console.ReadKey()是一个阻塞函数,它停止程序的执行并等待按下键,但这要感谢检查。Console.KeyAvailable首先,while循环没有被阻塞,而是一直运行到ESC是按下的。
打开App,查看更多内容
随时随地看视频慕课网APP