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