Мгновенное cra sh при попытке конвертировать readline до того, как был сделан какой-либо ввод - PullRequest
0 голосов
/ 19 февраля 2020

Я делаю простой метод, в котором я собираюсь использовать консольный ввод, чтобы выбрать номер студента из списка, теперь по какой-то причине происходит сбой программы, прежде чем я нажимаю клавишу ввода при чтении строки, и VS сообщает мне Входная строка была не в правильном формате.

 var whoisthestudent = Console.ReadLine();
 int who = Convert.ToInt32(whoisthestudent);

Итак, вот часть программы, которая аварийно завершает работу, это первые две строки метода, и когда она завершается сбоем, это дает мне исключение формата. Я просто не могу понять, почему он начинает конвертировать readline, прежде чем я что-то написал или нажал Enter?

1 Ответ

0 голосов
/ 19 февраля 2020

Используйте int.TryParse, чтобы быть на более безопасной стороне

Int studentId;
var whoisthestudent = Console.ReadLine();
 If(int.TryParse(whoisthestudent, out studentId)
{
        Console.WriteLine(studentId);
} else
{
        Console.WriteLine("Failed to convert" );
}
...