Console.Write("bb");将从屏幕上删除星号字符,但是您的else块中没有任何代码可从
pass字符串变量中删除先前输入的字符。
以下是应满足您要求的相关工作代码:
string pass = "";do{ ConsoleKeyInfo key = Console.ReadKey(true); // Backspace Should Not Work if (key.Key != ConsoleKey.Backspace && key.Key != ConsoleKey.Enter) { pass += key.KeyChar; Console.Write("*"); } else { if (key.Key == ConsoleKey.Backspace && pass.Length > 0) { pass = pass.Substring(0, (pass.Length - 1)); Console.Write("b b"); } else if(key.Key == ConsoleKey.Enter) { break; } }} while (true);


