Проблема с выводом переменной c#

Рейтинг: 0Ответов: 1Опубликовано: 12.03.2023

Не понимаю почему мой код неправильно выводит введенную пользователем int-переменную.

Сам код:

Console.Write("Введите число: ");

int z = Console.Read();

Console.WriteLine(z);

Пример ввода и вывода:

Ввод: 1

Вывод: 49

Ответы

▲ 1Принят

Фишка в том, что Console.Read() возвращает код символа в формате ASCII, а не сам символ. Вы ввели "1", код которого равен 49 в таблице ASCII в десятичной системе ссылка.

Вы же можете вместо Console.Read() использовать Console.ReadLine(), который вернет введенную строку полностью, а затем преобразовать эту строку в целое число с помощью метода Int32.Parse(), и тогда вы увидите введённое число, а не его код:

Console.Write("Введите число: ");
string input = Console.ReadLine();
int z = Int32.Parse(input);
Console.WriteLine(z);