Как считать клавишу, нажатую пользователем, и отобразить ее на консоли?

Я пытаюсь попросить, чтобы пользователь "ввел любой ключ" и когда та клавиша нажата, это показывает что "Вы Нажатая 'клавиша'". Можно ли помочь что случилось в этом коде?

Это - то, что я записал:

using System;
class Program
{
    public static void Main(string[] args)
    {      
        Console.Write("Enter any Key: ");
        char name = Console.Read();
        Console.WriteLine("You pressed {0}", name);
    }
}
13
задан Gilad Green 15 October 2016 в 18:54
поделиться

4 ответа

Попробуйте

Console.WriteLine("Enter any Key: ");
ConsoleKeyInfo name = Console.ReadKey();
Console.WriteLine("You pressed {0}", name.KeyChar);
13
ответ дан 1 December 2019 в 23:30
поделиться
Console.Write("Enter any Key: ");
char name = (char)Console.Read();
Console.WriteLine("You pressed {0}", name); 

Проблема в том, что Console.Read() возвращает целое число, а не char.

Однако int можно преобразовать в char, просто приведя его. Поэтому если перед оператором чтения поставить (char), C# преобразует его в char, и все работает нормально.

0
ответ дан 1 December 2019 в 23:30
поделиться

Console.Read () реагирует, когда пользователь нажимает Enter , и возвращает всю строку, введенную пользователем перед нажатием Enter . Чтобы прочитать одно нажатие клавиши, используйте

Console.ReadKey()
5
ответ дан 1 December 2019 в 23:30
поделиться

Используйте Console.ReadKey () вместо Read ()

0
ответ дан 1 December 2019 в 23:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: