C#でコンソールで表示される内容を非表示にする方法はありますか?

C#では、Console.ReadKeyメソッドを使用してユーザーの入力内容を非表示にすることができます。具体的なコードは以下の通りです:

using System;

class Program
{
    static void Main()
    {
        Console.Write("请输入密码:");
        
        string password = "";
        ConsoleKeyInfo key;

        do
        {
            key = Console.ReadKey(true);

            if (key.Key != ConsoleKey.Backspace && key.Key != ConsoleKey.Enter)
            {
                password += key.KeyChar;
                Console.Write("*");
            }
            else
            {
                if (key.Key == ConsoleKey.Backspace && password.Length > 0)
                {
                    password = password.Substring(0, (password.Length - 1));
                    Console.Write("\b \b");
                }
            }
        }
        while (key.Key != ConsoleKey.Enter);

        Console.WriteLine();
        Console.WriteLine("您输入的密码是:" + password);
    }
}

ユーザーがパスワードを入力すると、コンソールには入力された文字の代わりに星印(*)が表示され、パスワードの内容が隠されます。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds