Über ReadLine ist es nicht möglich bei ReadLine erhältst du am ende einen String, was wir aber auch anderweitig erreichen.
Hier ist ein Beispiel:
string password = "";
ConsoleKeyInfo keyInfo = new ConsoleKeyInfo();
do
{
keyInfo = Console.ReadKey(true); // ← Das True verhindert das schreiben in die Konsole
if (keyInfo.Key == ConsoleKey.Backspace && password.Length > 0)
{
password = password.Substring(0, password.Length - 1);
Console.Write("\b \b");
}
else if (!char.IsControl(keyInfo.KeyChar))
{
password += keyInfo.KeyChar;
Console.Write('*'); // Hier legst du das Zeichen fest ich z.B '*', '•' oder '●'
}
}
while(keyInfo.Key != ConsoleKey.Enter);
Console.WriteLine();
// Ab hier kannst du den string "password" ganz normal in if-statements nutzen.
Wenn es aber um dringende Sicherheit geht, empfehle ich, das "Console.Write("\b \b")" und das "Console.Write('*')" ganz zu entfernen, um die länge des passwortes noch zu verschleiern.