C# 控制台 - 在键入时从控制台窗口隐藏输入

标签 c# console-application

我正在使用 Console.ReadLine 读取用户的输入。但是,我想在输入时隐藏/排除控制台屏幕上输入的文本。例如,当用户写入“a”时,它会将“a”写入控制台,然后我将拥有一个值为“a”的变量。但是,我不想在控制台的输出中写入“a”。

我该怎么做?

最佳答案

这是一个简短的实现。感谢@ojblass 的想法

System.Console.Write("password: ");
string password = null;
while (true)
{
    var key = System.Console.ReadKey(true);
    if (key.Key == ConsoleKey.Enter)
        break;
    password += key.KeyChar;
}

关于C# 控制台 - 在键入时从控制台窗口隐藏输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23433980/

相关文章:

c# - 来自 Console.ReadKey() 的奇怪行为

c# - 基于 ViewModel 状态显示 UI 错误消息的最佳实践

c# - 在 .NET Core(.NET Standard 1.4 和 .NET Framework 4.6.1)中对 System.Net.Http 使用 await/async 时出现错误?

c# - 必须使用完全限定的类名

c# - Assert.ReferenceEquals() 在 Visual Studio 测试中通过 Object.ReferenceEquals() 返回 'false'

c# - 如何获取动态添加到 Windows 窗体 C# 中的控件的值?

input - Common Lisp 中的控制台 I/O

c 在控制台中绘制直线

c# - “标准内核”已过时 : `Use StandardKernelConfiguration and StandardReadonlyKernel`

C++编译困惑