如何继续运行控制台应用程序直到按下键(例如按下ESC)?
我不想使用ReadKey
因为它阻止操作并会请求一个键,而不是继续并监听按键。
我该如何做到的呢?
发布于 2018-01-02 17:39:47
使用Console.KeyAvailable
当你知道它不会被阻挡的时候,所以你只能使用ReadKey函数
:
Console.WriteLine("Press ESC to stop");
do {
while (! Console.KeyAvailable) {
// Do something
}
} while (Console.ReadKey(true).Key != ConsoleKey.Escape);
发布于 2018-01-02 18:32:56
你可以稍微改变你的方法--使用Console.ReadKey()
要停止应用程序,但要在后台线程中完成你的程序:
static void Main(string[] args)
{
var myWorker = new MyWorker();
myWorker.DoStuff();
Console.WriteLine("Press any key to stop...");
Console.ReadKey();
}
在myWorker.DoStuff()
函数,然后在后台线程上调用另一个函数(使用Action<>()
或Func<>()
是一种简单的方法),然后立即返回。
https://stackoverflow.com/questions/-100007096
复制相似问题