在一个请求用户输入的简单控制台应用程序中,我要求用户输入。然后将该输入保存到变量中供以后使用。
如何在键入控制台时显示输入,但在提交后隐藏输入?
例如:
class Program
{
static void Main()
{
string input = null;
Console.WriteLine("Type Something: ");
input = Console.ReadLine();
Console.WriteLine("You Typed" + input);
}
}
运行上面的代码后,下面的输出打印到控制台:
Type Something:
abc 123
You Typedabc 123
如何修改此代码,以便在用户输入并提交输入后,它不会出现在输出中?
答案 0 :(得分:2)
之前我已经通过创建一个方法将光标移动到前一行,在行上写入空格,然后再次将光标重置到行的开头来完成此操作:
private static void DeletePrevConsoleLine()
{
if (Console.CursorTop == 0) return;
Console.SetCursorPosition(0, Console.CursorTop - 1);
Console.Write(new string(' ', Console.WindowWidth));
Console.SetCursorPosition(0, Console.CursorTop - 1);
}
用法:
string input = null;
Console.WriteLine("Type Something: ");
input = Console.ReadLine();
DeletePrevConsoleLine();
Console.WriteLine("You Typed: " + input);
Console.Write("\nDone!\nPress any key to exit...");
Console.ReadKey();