2008-09-05 88 views
12

關於如何實現.NET(C#)控制檯應用程序選項卡完成的任何想法? 我的意思是,當運行一個應用程序中,然後循環用戶輸入(例如,如果你不帶任何參數運行Ftp.exe的),像這樣:.NET控制檯應用程序選項卡完成

 string line = string.Empty; 
     while (line != "exit") 
     { 
      //do something here 
      Console.ReadLine(); 
     } 

我知道我可能沒有實際使用輸入行,但我希望能夠在檢索用戶輸入的同一點完成標籤填充。

回答

8

做一個Console.ReadKey()。

如果你得到一個Tab,看看你在命令緩衝區有什麼,並循環你的可用命令。如果someCommand.Name.BeginsWith(currentinput),您有勝利者,您可以編寫屏幕列出可能的命令。

如果只有一個(TM)你可以用什麼用戶已鍵入替換它:)

+0

使用readkey不能在readline中平行調用嗎?所以它意味着你失去了readline功能,並且你需要循環訪問readkey並手動追加/顯示什麼是輸入。 Readline具有使用「向上」鍵的歷史記錄功能,您將失去該功能,或者需要使用readkey重新編碼它。最好的選擇是尋找混合解決方案。 (如使用Async readline?) – 2015-07-02 02:59:58

相關問題