gpt4 book ai didi

c# - 在控制台应用程序中等待键盘事件

转载 作者:行者123 更新时间:2023-11-30 17:32:58 27 4
gpt4 key购买 nike

有没有办法在没有专用线程的情况下获得完成并返回按键的Task

// Kernel callback, not a new thread in my process waiting for a keyboard event
var key = await KeyPress();

因为 Console.ReadKey() 是一个阻塞调用,并且只使用一个线程来等待用户输入。

最佳答案

可以打开标准输入流,里面有读取的异步操作:

using (var stream = Console.OpenStandardInput())
{
var buffer = new byte[1];
var bytesRead = await stream.ReadAsync(buffer, 0, 1);
char c = (char)buffer[0];
Console.WriteLine(c);
}

关于c# - 在控制台应用程序中等待键盘事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45172633/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com