我想要一个来自控制台的非阻塞读取功能。我如何在C#中编写它?
发布于 2011-04-11 19:58:39
var buf=new byte[2048];
var inputStream=Console.OpenStandardInput(); //dispose me when you're done
inputStream.BeginRead(buf,0,buf.Length,ar=>{
int amtRead=inputStream.EndRead(ar);
//buf has what you need. You'll need to decode it though
},null);发布于 2011-04-11 19:33:35
Richard Dutton在his blog上有一个解决方案
while (true)
{
if (Console.KeyAvailable)
{
ConsoleKeyInfo key = Console.ReadKey(true);
switch (key.Key)
{
case ConsoleKey.F1:
Console.WriteLine("You pressed F1!");
break;
default:
break;
}
}
// Do something more useful
} https://stackoverflow.com/questions/5620603
复制相似问题