Здравствуйте! Можно вопрос новичка? Выдает ошибку. Вопрос такой - почему нужно переменную i инициализировать значением? Ведь потом в цикле в try/catch эта переменная получает значение. - вопрос №3091561

public static int InputInt(string inText)
{
bool flag;
int i = -1; //Зачем здесь -1??? Но если убрать, то ошибка.
do
{
try
{
flag = false;
Console.Write(inText + ": ");
i = Convert.ToInt32(Console.ReadLine()); // Вот здесь происходит присвоение!!!
}
catch (Exception exc)
{
MyWriteLine(«Ввод целого числа был неправильным.»,2,ConsoleColor.Red); //Своя версия Console.Writeline() с пробелами сначала и цветом текста
MyWriteLine(«Ошибка: „+ exc.Message, 2, ConsoleColor.Red);
Console.WriteLine();
flag = true;
}
}
while (flag);
return i;
}
13.12.18
2 ответа

Лучший ответ по мнению автора

это требование компилятора. а еще трудно читать текст без отступов, знаю что тут с этим не айс )) рекомендую dotnetfiddle.net/ для C#, там можно сгенерировать ссылку для конкретного кода
13.12.18
Лучший ответ по мнению автора

Другие ответы

догадываться по реакции компилятора — не очень хороший стиль. учебники и документация лучше
14.12.18
Посмотреть всех экспертов из раздела Технологии > .Net/C#
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store