国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現在控制臺輸入密碼顯示星號的方法

2019-10-29 21:29:22
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了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();

最終實現效果如下

C#,控制臺,星號



注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥宁县| 平阴县| 永丰县| 红原县| 汝南县| 连云港市| 昭平县| 宣威市| 保康县| 本溪市| 剑河县| 进贤县| 永安市| 永城市| 蕲春县| 镇康县| 昆山市| 新安县| 霍山县| 马龙县| 枣庄市| 十堰市| 富宁县| 专栏| 永靖县| 汶上县| 太白县| 遂川县| 许昌市| 申扎县| 昭平县| 涟源市| 青海省| 安多县| 蚌埠市| 陈巴尔虎旗| 漾濞| 蒙自县| 南涧| 金塔县| 铁岭县|