【发布时间】:2019-03-26 07:33:35
【问题描述】:
我正在编写一个用于区分函数的程序,并希望在按下“esc”后立即调用特定方法。
到目前为止,我已尝试通过 Google 找到答案,但似乎找不到任何可行的方法。有谁知道这在 C# 控制台应用程序中是否可行?
【问题讨论】:
标签: c# console console-application
我正在编写一个用于区分函数的程序,并希望在按下“esc”后立即调用特定方法。
到目前为止,我已尝试通过 Google 找到答案,但似乎找不到任何可行的方法。有谁知道这在 C# 控制台应用程序中是否可行?
【问题讨论】:
标签: c# console console-application
没有监听按键的事件。只有Console.ReadKey。但是您可以使用Tasks 将其转换为回调。像这样:
public static void RegisterKeyHandler(Action<ConsoleKeyInfo> handler)
{
Task.Run(() =>
{
while (true)
{
var key = Console.ReadKey();
handler(key);
}
});
}
这只会在控制台窗口获得焦点时接收键。
【讨论】: