Метод Console.Read возвращает неверное значение числа
сделал маленькую игру по угадыванию чисел но загвоздка в том то что рандом выдает большие числа чем прописаны в условий 
введите сюда описание изображения
Ответы (1 шт):
Согласно документации метод Consol.Read() возвращает
"следующий символ из входного потока или значение минус единица (-1), если доступных для чтения символов не осталось."
При чем эта функция возвращает не сам символ, а его код (тип возвращаемого значение - int)
В вашем случае вы ввели символ 1 с кодом 49 по стандарту ASCII, с которым совместима кодировка UTF-16, используемая по умолчанию в .NET. Потому переменная y вас равна 49.
Как решить?
Вместо Console.Read() используйте Console.Readline() и метод int.Parse либо int.TryParse для получения валидного числа, например, так:
int y;
var str = Console.ReadLine();
if (!int.TryParse(str, out y)) return;