欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2016年04月21日 14:10:33   作者:一個人的長征  
這篇文章主要介紹了C#實現在控制臺輸入密碼顯示星號的方法,感興趣的小伙伴們可以參考一下

在控制臺輸入的內容C#默認按照字符串進行處理,如果直接讓用戶一次輸入完畢就很難實現 顯示星號的功能。但是如果讓用戶一次只能輸入一個字符就,在將用戶輸入的字符替換為星號就可以實現了!

首先,C#中能讓用戶按下一個按鍵的方法就是Console.Readkey(),用戶一次只能按下一個按鍵,其中它的另外一個重載方法是Console.ReadKey(bool b),bool類型的參數用來控制是否在控制臺上顯示用戶按下的按鍵。那么我們可以傳入true參數,使用戶按下的按鍵不顯示在控制臺上,這樣光標始終停留在原來的位置,然后在該位置打印一個*號即可實現。同時此方法的返回值為ConsoleKeyInfo類型。通過查MSND得知ConsoleKeyInfo類型是描述按下的控制臺鍵,包括控制臺鍵表示的字符以及 Shift、Alt 和 Ctrl 修改鍵的狀態(tài)。此類型數據類型是結構體類型,其中有兩個重要的屬性Key和KeyChar。其中的Key對應用于按下的某個按鍵,是枚舉類型,KeyChar是用戶按下按鍵對應的Unicode編碼字符。那么這樣我就就能拿到用戶輸入的字符串和用戶按下的按鍵。用戶輸入密碼是一個循環(huán)的過程,當用戶按下按鍵輸入密碼時候設置不顯示字符,然后在相同位置打印一個*號,最后判斷用戶是否按下了回車鍵,這樣就結束了整個密碼輸入過程。

具體代碼如下

//控制臺輸入密碼顯示星號

      //定義一個字符串接收用戶輸入的內容
      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#異步編程詳解

    本文主要介紹異步編程中Task、Async和Await的基礎知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • c#冒泡排序算法示例

    c#冒泡排序算法示例

    這篇文章主要介紹了c#冒泡排序算法示例,需要的朋友可以參考下
    2014-04-04
  • C#數值轉換-顯式數值轉換表(參考)

    C#數值轉換-顯式數值轉換表(參考)

    就是在將一種類型轉換成另外一種類型時,需要額外的代碼來完成這種轉換。
    2013-04-04
  • c# 利用易福門振動模塊VSE002采集振動數據的方法

    c# 利用易福門振動模塊VSE002采集振動數據的方法

    這篇文章主要介紹了c# 利用易福門振動模塊VSE002采集振動數據的方法,本文通過圖文實例相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • C#操作windows系統(tǒng)進程的方法

    C#操作windows系統(tǒng)進程的方法

    這篇文章介紹了C#操作windows系統(tǒng)進程的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C#中foreach循環(huán)對比for循環(huán)的優(yōu)勢和劣勢

    C#中foreach循環(huán)對比for循環(huán)的優(yōu)勢和劣勢

    循環(huán)語句是編程的基本語句,在C#中除了沿用C語言的循環(huán)語句外,還提供了foreach語句來實現循環(huán),下面這篇文章主要給大家介紹了關于C#中foreach循環(huán)對比for循環(huán)的優(yōu)勢和劣勢,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • Unity實現俄羅斯方塊(三)

    Unity實現俄羅斯方塊(三)

    這篇文章主要為大家詳細介紹了Unity實現俄羅斯方塊的第一部分代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 快速了解如何在.NETCORE中使用Generic-Host建立主機

    快速了解如何在.NETCORE中使用Generic-Host建立主機

    這篇文章主要介紹了如何在.NETCORE中使用Generic-Host建立主機,文中代碼非常詳細,可供大家參考,感興趣的朋友不妨閱讀完
    2020-05-05
  • c#字符串使用正則表達式示例

    c#字符串使用正則表達式示例

    這篇文章主要介紹了c#字符串使用正則表達式示例,需要的朋友可以參考下
    2014-02-02
  • 關于WPF異步MVVM等待窗體的介紹

    關于WPF異步MVVM等待窗體的介紹

    本篇文章小編將為大家介紹,關于WPF異步MVVM等待窗體的介紹,需要的朋友參考下
    2013-04-04

最新評論