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

侦听.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

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号