2016-09-19 76 views
0

我正在製作一個程序,我需要用戶輸入是不可見的,我讀var key = System.Console.ReadKey(true);就是這樣做的。 做什麼,我需要,但我需要與多個字符的字符串,所以我所做的就是如何在循環中使用readkey編寫一個字符串?

string Choice1=null; 
User1Input: 
while (true) 
{ 
    var key = System.Console.ReadKey(true); 
    if (key.Key == ConsoleKey.Enter) 
    { 
     break; 
    } 
    Choice1 += key; 
} 

正在發生的事情是,key根本不讀什麼,因爲即使我按回車,循環不關閉。

+2

你爲什麼不能閱讀整行'System.Console.ReadLine()'代碼? – Rahul

+0

我現在試過了,它的下劃線是紅色的。另外,我在這個網站上看過一些地方,你不能讓輸入行看不見,只有一個鍵。 –

回答

1

因此,您的唯一目的是在用戶輸入控制檯時隱藏角色。在這種情況下,您處於正確的軌道,並且您的發佈代碼看起來不錯,除了最後一行代碼爲Choice1 += key;。它應該是

Choice1 += key.KeyChar; 

你貼有位修改

string choice1=null; //casing of variable names 
while (true) 
{ 
    var key = System.Console.ReadKey(true); 
    if (key.Key == ConsoleKey.Enter) 
     break; 

    choice1 += key.KeyChar; 
} 
+0

就是這樣,非常感謝! –

相關問題