我试图在C#中从终端获取用户输入,但我只想在用户开始输入时使用ReadLine。基本上我现在设置的方式是我在一个while循环中,我想要检查是否收到消息或发送它们,但我不想因为调用ReadLine而发送一个消息而感到困惑等待用户在此时无需发送消息时发送消息。我的代码看起来像这样:
While (true)
{
// If messages to be received
// Receive them
// Check to see if the user is typing input
if (Console.KeyAvailable)
{
string userInput = Console.ReadLine();
// Do stuff...
}
}
基本上发生的事情是它完全正常,但是用户输入的第一个字母没有显示在终端窗口中,但ReadLine确实没有问题。无论如何我可以让这个工作,以便用户可以立即看到他们正在键入的所有内容吗?
谢谢!
答案 0 :(得分:1)
您可以使用Console.ReadKey(true);
阅读缺失的项目,然后使用readline方法阅读其他部分,将其附加到您的输入中。