Я создал программу и столкнулся с проблемой. когда я отлаживаю программу и не вводим значение, например. номер и несколько раз нажмите кнопку ввода, программа в итоге выйдет из строя. Мне интересно, есть ли правило проверки, которое может быть установлено, чтобы программа не сработала, когда значение не было введено.Программа вылетает, когда значение не вводится
int userChoice;
static void Main(string[] args)
{
new Program().Welcome();
}
public void Welcome()
{
Console.WriteLine(" HELLO");
Console.ReadLine();
Main_Menu();
}
private void Main_Menu()
{
Console.WriteLine("1). Welcome");
Console.WriteLine("2). Help Facilities");
Console.WriteLine("3). Exit");
userChoice = Convert.ToInt16(Console.ReadLine());
Options();
}
private void Options()
{
if (userChoice == 1)
{
Console.Clear();
Console.WriteLine("Welcome.....................");
Console.ReadLine();
}
if (userChoice == 2)
{
Console.Clear();
Console.WriteLine("Help.........................");
Console.ReadLine();
}
if (userChoice == 3)
{
//if user selects option 3 the program will exit
}
Укажите крешлогам, если проблема происходит сбой –
вы не вставили полный код –
Используйте 'Int.TryParse()' вместо 'Convert.ToInt()'. Это попытается преобразовать число и вернуть 'bool', указав, было ли оно успешным. – sab669