我通常Console.ReadLine();
用来捕获单个击键。但是这个函数会阻止执行并一直等待它发生。
是否有可能在循环内捕获它,如果它被按下并继续执行,如果它不是?
最好的是类似于 GUI 应用程序的东西,它会继续运行,并且只要执行快捷方式,它就会被拦截并引发事件以被捕获。但我怀疑控制台应用程序能够做到这一点。
第二个最佳解决方案是Console.ReadLine();
等待 1 秒然后返回。如果在调用函数时用户按住键盘按钮,则函数识别击键并返回其字符,否则函数返回 null。
我通常Console.ReadLine();
用来捕获单个击键。但是这个函数会阻止执行并一直等待它发生。
是否有可能在循环内捕获它,如果它被按下并继续执行,如果它不是?
最好的是类似于 GUI 应用程序的东西,它会继续运行,并且只要执行快捷方式,它就会被拦截并引发事件以被捕获。但我怀疑控制台应用程序能够做到这一点。
第二个最佳解决方案是Console.ReadLine();
等待 1 秒然后返回。如果在调用函数时用户按住键盘按钮,则函数识别击键并返回其字符,否则函数返回 null。
您是否阅读了控制台的 MSDN 按键信息?
您可以使用Console.KeyAvailable
来确定您是否真的想要获取队列中的密钥。