1

我正在尝试从 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 拾取没问题。无论如何我可以让它工作,以便用户可以立即看到他们正在输入的所有内容?

谢谢!

4

1 回答 1

1

您可以使用Console.ReadKey(true);读取丢失的项目,然后使用 readline 方法读取其他部分,将其附加到您的输入中。

于 2013-03-20T18:41:27.647 回答