Как имитировать поведение ReadKey при перенаправлении ввода с консоли? - PullRequest
0 голосов
/ 19 июня 2020
while(true)
{
    var cki = Console.ReadKey(true);
    Console.WriteLine(cki.Key);
}

Этот код работает, когда я запускаю его из cmd / powershell, но не работает из git bash. Это исключение:

Необработанное исключение. System.InvalidOperationException: не удается прочитать ключи, когда в каком-либо приложении нет консоли или когда ввод консоли был перенаправлен. Попробуйте Console.Read.

Подход, предложенный из исключения, заключается в использовании метода Console.Read, но он работает совсем не так, как ReadKey. Итак, как я могу запустить приложение основной консоли. net из git bash, нажать «стрелку вниз», «стрелку вверх» или любую другую клавишу, которую я нажимаю, и сразу же получить информацию о клавише, нажатой в моем приложении?

...