C#学习教程:C#控制台-在键入时隐藏控制台窗口的输入但是,我想在键入时隐藏/排除控制台屏幕上输入的文本。比如用户写“a”,它就把“a”写到控制台,然后我会得到一个值为“a”的变量。但是,我不想在控制台的输出中写入“a”。我怎样才能做到这一点?这是一个简短的实现。这个想法是@ojblassSystem.Console.Write("password:");字符串密码=空;while(true){varkey=System.Console.ReadKey(true);如果(key.Key==ConsoleKey.Enter)中断;密码+=key.KeyChar;}Console.ReadKey(true)隐藏用户密钥。我不相信Console.Read()提供这样的功能。如果你愿意,你可以坐在一个循环中,一次读取一个键,直到按下Enter。有关示例,请参见此链接。我使用来自dataCore的答案和m4tt1mus的建议的代码创建了这个方法。我还添加了对退格键的支持。私有静态字符串GetHiddenConsoleInput(){StringBuilder输入=newStringBuilder();while(true){varkey=Console.ReadKey(true);如果(key.Key==ConsoleKey.Enter)中断;if(key.Key==ConsoleKey.Backspace&&input.Length>0)input.Remove(input.Length-1,1);elseif(key.Key!=ConsoleKey.Backspace)input.Append(key.KeyChar);}返回输入.ToString();我只是在输入密码时将前景色更改为黑色。我是新手,所以这可能是个坏主意,但它适用于我正在尝试的挑战上面是C#学习教程:C#控制台-在键入时隐藏控制台窗口的输入它很有用,需要知道更多C#学习教程,希望大家多多关注—Console.WriteLine("Welcometooursystem.PleasecreateaUserName");varuserName=Console.ReadLine();Console.WriteLine("现在请创建密码");Console.ForegroundColor=ConsoleColor.Black;varpassword=Console.ReadLine();Console.ForegroundColor=ConsoleColor.White;Console.WriteLine("好的,让你登录:");网络收藏不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
