Console.Read();

  • 122 Просмотры
  • Последний пост 27 декабря 2016
Sergey Kolobaev разместил пост 25 декабря 2016

Здравствуйте. Объясните пожалуйста.

int n;

n = Console.Read();

С клавиатуры вбиваю 5, а присваивается 53. Почему именно так?
С какой целью можно использовать Console.Read();?

Отсортировать по: Стандартный | Последний | Голоса
Potapy4 разместил пост 27 декабря 2016

Console.Read читает только 1 символ. Все входные данные в консоли - строка. Для считывания числа используйте такую конструкцию:

int n = Int32.TryParse(Console.ReadLine()); в этом случае программа попытается конвертировать всё, что пришло к типу Int

Валерий Гуров разместил пост 27 декабря 2016

TryParse() возвращает bool. Переменную n нужно передавать вторым параметром в качестве выходного параметра.

Seva 1986 разместил пост 27 декабря 2016

Console.Read(); возвращает не символ, а его код, собственно для этой цели он и используется, код цифры 5 по юникоду 53 в десятичной, или 35 в шестнадцатеричной системе. 

Если нужно из кода 53 получить 5, то можно например привести к char

int code = Console.Read();

Console.WriteLine(code);

Console.WriteLine((char)code);

 

Close