Использование goto - C#
Формулировка задачи:
Ребята, нужно выйти из вложенного условного оператора switch, решил использовать goto. Но он прерывает выполнение программы, после того как я прохожу по одному из пунктов меню. А надо, чтобы при нажатии на цифру 6 меню программа прерывала выполнение.
static void ShowMenu()
{
Console.WriteLine("Используя цифровую клавиатуру, выберите нужную операцию:\n");
Console.WriteLine("-=1=- Создать директорию и файлы для заданий");
Console.WriteLine("-=2=- Выполнить задание №2");
Console.WriteLine("-=3=- Выполнить задачние №3");
Console.WriteLine("-=4=- Выполнить задачние №4");
Console.WriteLine("-=5=- Удалить директорию и файлы с жесткого диска");
Console.WriteLine("-=6=- Выйти из программы");
}
static void Menu()
{
Console.WriteLine("Вас приветствует программа\n" +
"студента группы АУЗ-261\nБаринова Филиппа Сергеевича");
Console.WriteLine("Номер зачетной книжки: -=20151932=-");
Console.WriteLine("\n");
while (true)
{
try
{
ShowMenu();
char change = Convert.ToChar(Console.ReadLine());
if (int.Parse(Char.ToString(change)) < 0
|| int.Parse(Char.ToString(change)) > 6)
{
Console.WriteLine("Нет пункта меню с таким номером. Попробуйте ещё раз!\n\n");
Console.ReadKey();
Console.Clear();
continue;
}
switch (change)
{
case '1':
Preparation();
Console.Clear();
break;
case '2':
SortWordsInFile(path);
Console.Clear();
break;
case '3':
AriphmetisProgressionTask(path);
Console.Clear();
break;
case '4':
TwoNumFileSorting();
Console.Clear();
break;
case '5':
FilePrepareHandler.DelDirAndIncludeFile(path);
Console.Clear();
break;
case '6':
//goto Escape;
break;
}
//Escape: break;
}
catch(FormatException)
{
Console.WriteLine("Ошибка! Вы ввели не номер меню (а число или символ), попробуйте ещё раз!\n\n");
Console.ReadKey();
Console.Clear();
}
catch (DirectoryNotFoundException)
{
Console.WriteLine("Ошибка! Вы не создали папку, перед выполнением заданий.\n" +
"Выберите в меню пункт №1 и программа автоматически\nсоздаст все необхоидмые файлы папки\n\n");
Console.ReadKey();
Console.Clear();
}
catch (FileNotFoundException)
{
Console.WriteLine("Ошибка! Вы не создали файл, перед выполнением заданий.\n" +
"Выберите в меню пункт №1 и программа автоматически\n создаст все необхоидмые файли папки\n\n");
Console.ReadKey();
Console.Clear();
}
}
}
static void Main(string[] args)
{
Menu();
}Решение задачи: «Использование goto»
textual
Листинг программы
Application.Exit(); //Выход из приложения, размещай где надо