C#完成在掌握台輸出暗碼顯示星號的辦法。本站提示廣大學習愛好者:(C#完成在掌握台輸出暗碼顯示星號的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成在掌握台輸出暗碼顯示星號的辦法正文
在掌握台輸出的內容C#默許依照字符串停止處置,假如直接讓用戶一次輸出終了就很難完成 顯示星號的功效。然則假如讓用戶一次只能輸出一個字符就,在將用戶輸出的字符調換為星號便可以完成了!
起首,C#中能讓用戶按下一個按鍵的辦法就是Console.Readkey(),用戶一次只能按下一個按鍵,個中它的別的一個重載辦法是Console.ReadKey(bool b),bool類型的參數用來掌握能否在掌握台上顯示用戶按下的按鍵。那末我們可以傳入true參數,應用戶按下的按鍵不顯示在掌握台上,如許光標一直逗留在本來的地位,然後在該地位打印一個*號便可完成。同時此辦法的前往值為ConsoleKeyInfo類型。經由過程查MSND得知ConsoleKeyInfo類型是描寫按下的掌握台鍵,包含掌握台鍵表現的字符和 Shift、Alt 和 Ctrl 修正鍵的狀況。此類型數據類型是構造體類型,個中有兩個主要的屬性Key和KeyChar。個中的Key對運用於按下的某個按鍵,是列舉類型,KeyChar是用戶按下按鍵對應的Unicode編碼字符。那末如許我就就可以拿到用戶輸出的字符串和用戶按下的按鍵。用戶輸出暗碼是一個輪回的進程,當用戶按下按鍵輸出暗碼時刻設置不顯示字符,然後在雷同地位打印一個*號,最初斷定用戶能否按下了回車鍵,如許就停止了全部暗碼輸出進程。
詳細代碼以下
//掌握台輸出暗碼顯示星號 //界說一個字符串吸收用戶輸出的內容 string input = null; Console.WriteLine("請輸出暗碼"); while (true) { //存儲用戶輸出的按鍵,而且在輸出的地位不顯示字符 ConsoleKeyInfo ck = Console.ReadKey(true); //斷定用戶能否按下的Enter鍵 if (ck.Key != ConsoleKey.Enter) { if (ck.Key != ConsoleKey.Backspace) { //將用戶輸出的字符存入字符串中 input += ck.KeyChar.ToString(); //將用戶輸出的字符調換為* Console.Write("*"); } else { //刪除毛病的字符 Console.Write("\b \b"); } } else { Console.WriteLine(); break; } } Console.WriteLine("你適才輸出的是{0}", input); Console.ReadKey();
終究完成後果以下