2013-03-20 47 views
1

我想從C#中的終端獲取用戶輸入,但我只想在用戶開始輸入時ReadLine。基本上我現在設置的方式是,我處於一個while循環中,並且要檢查是否收到消息或發送消息,但我不想試圖通過調用ReadLine來發送消息,等待用戶發送消息,如果他們此刻無法發送消息的話。我的代碼看起來是這樣的:檢查並獲取來自終端C的用戶輸入#

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

我想研究多線程或事件 – 2013-03-20 18:26:12

+0

我只想用一個線程來做到這一點 – user1875195 2013-03-20 18:26:57

+1

要檢查用戶是否正在鍵入,請使用鍵盤按下事件,如果這樣的事情可以爲你工作。 – 2013-03-20 18:27:40

回答

1

您可以使用Console.ReadKey(true);來讀取缺失項目,然後使用readline方法讀取其他部分並將其附加到輸入中。

+0

謝謝!這正是我想要做的,完美的工作! – user1875195 2013-03-20 18:51:01