Console.Read();
читает следующий символ, но как его int
представление. Вам нужно будет использовать Console.ReadLine();
, но теперь вы столкнулись с другой проблемой: Console.ReadLine();
возвращает строку, а не int
, поэтому теперь вам нужно конвертировать ее. В .NET World вы бы сделали это так:
string userInput = Console.ReadLine();
int userInputNumber = Convert.ToInt32(userInput);
Это небезопасно, поскольку пользователь может ввести что-то, что не является числом, и это приведет к аварийному завершению программы. Конечно, если вы только начинаете и делаете приложение «Hello World», это, вероятно, не самая большая проблема.
В любом случае я выложу лучшую версию, если вам интересно:
string userInput = Console.ReadLine();
int userInputNumber;
if (int.TryParse(userInput, out userInputNumber))
{
// Do code here with userInputNumber as your number
}
А в C # (как и в любом современном языке) у нас есть Syntatic Sugar , чтобы сделать его короче, но труднее читать:
if (int.TryParse(Console.ReadLine(), out int userInputNumber))
{
//Do code here
}