为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
米脂 2019-06-26 13:08:04
侦听.NET控制台应用程序中的按键如何继续运行控制台应用程序直到按下键(如ESC是按下的?)我猜它绕了一会儿圈。我不喜欢ReadKey因为它阻止操作并请求一个键,而不是继续并监听键按。这是如何做到的呢?
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

使用Console.KeyAvailable所以你只能打电话ReadKey当你知道它不会阻塞时:

Console.WriteLine("Press ESC to stop");do {
    while (! Console.KeyAvailable) {
        // Do something
   }       } while (Console.ReadKey(true).Key != ConsoleKey.Escape);


查看完整回答
反对 回复 2019-06-26
?
繁花如伊

TA贡献2012条经验 获得超12个赞

最短的路:

Console.WriteLine("Press ESC to stop");while (!(Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.Escape)){
    // do something}

Console.ReadKey()是一个阻塞函数,它停止程序的执行并等待按下键,但这要感谢检查。Console.KeyAvailable首先,while循环没有被阻塞,而是一直运行到ESC是按下的。


查看完整回答
反对 回复 2019-06-26
  • 3 回答
  • 0 关注
  • 721 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信