C# Console - hide the input from console window while typing

后端 未结 5 1924
被撕碎了的回忆
被撕碎了的回忆 2021-01-01 18:56

I\'m using Console.ReadLineto read the input of the user. However, I want to hide/exclude the inputted text on the console screen while typing. For example, whe

5条回答
  •  野趣味
    野趣味 (楼主)
    2021-01-01 19:41

    I created this method from the code in the answer by dataCore and the suggestion by m4tt1mus. I also added support for the backspace key.

    private static string GetHiddenConsoleInput()
    {
        StringBuilder input = new StringBuilder();
        while (true)
        {
            var key = Console.ReadKey(true);
            if (key.Key == ConsoleKey.Enter) break;
            if (key.Key == ConsoleKey.Backspace && input.Length > 0) input.Remove(input.Length - 1, 1);
            else if (key.Key != ConsoleKey.Backspace) input.Append(key.KeyChar);
        }
        return input.ToString();
    }
    

提交回复
热议问题