Я пытаюсь попросить, чтобы пользователь "ввел любой ключ" и когда та клавиша нажата, это показывает что "Вы Нажатая 'клавиша'". Можно ли помочь что случилось в этом коде?
Это - то, что я записал:
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);
}
}
Попробуйте
Console.WriteLine("Enter any Key: ");
ConsoleKeyInfo name = Console.ReadKey();
Console.WriteLine("You pressed {0}", name.KeyChar);
Console.Write("Enter any Key: ");
char name = (char)Console.Read();
Console.WriteLine("You pressed {0}", name);
Проблема в том, что Console.Read() возвращает целое число, а не char.
Однако int можно преобразовать в char, просто приведя его. Поэтому если перед оператором чтения поставить (char), C# преобразует его в char, и все работает нормально.
Console.Read ()
реагирует, когда пользователь нажимает Enter , и возвращает всю строку, введенную пользователем перед нажатием Enter . Чтобы прочитать одно нажатие клавиши, используйте
Console.ReadKey()