【问题标题】:Hide Console.ReadLine input from console after submitting - C# Console App [duplicate]提交后从控制台隐藏 Console.ReadLine 输入 - C# Console App [重复]
【发布时间】:2018-04-08 10:48:36
【问题描述】:

在请求用户输入的简单控制台应用程序中,我要求用户输入。然后将该输入保存到一个变量中以供以后使用。

如何在输入到控制台时显示输入,但在提交后隐藏?

例如:

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

如何调整此代码,以便在用户输入并提交输入后,它不会出现在输出中?

【问题讨论】:

  • 删除Console.WriteLine("You Typed" + input);这一行
  • @mattshu,这正是我想要的,谢谢

标签: c# .net input output console-application


【解决方案1】:

我之前通过创建一个方法来完成此操作,该方法将光标移动到前几行,在行上写入空格,然后再次将光标重置到行首:

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();

【讨论】:

    猜你喜欢
    • 2014-06-19
    • 2015-12-25
    • 2016-03-30
    • 2019-07-29
    • 2011-07-19
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多