要实现异步读取控制台输入,可以使用Console.In.Peek
方法来检查输入缓冲区是否有可用的字符,并使用Console.In.Read
方法来读取字符。以下是一个简单的示例代码来实现异步读取控制台输入:
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("请输入内容:");
while (true)
{
if (Console.KeyAvailable)
{
char inputChar = (char)Console.In.Read();
Console.WriteLine($"已输入:{inputChar}");
}
await Task.Delay(100);
}
}
}
在上面的示例中,我们使用了Console.KeyAvailable
属性来检查输入缓冲区是否有可用的字符。如果有可用的字符,我们就使用Console.In.Read
方法来读取字符,并显示在控制台上。然后使用Task.Delay
方法来实现异步等待,以使程序能够持续监听输入。