Я новичок в C#. У меня есть «меню» в консольном приложении. Теперь, когда я закончу выбор предмета из меню и выполню то, что требуется для этого пункта меню, я хочу, чтобы цикл и снова показывал меню, чтобы пользователь мог выбрать пункт меню diffenrent. У меня есть выход в меню, и я только хочу использовать его для выхода. Я пробовал цикл while, но это не работает. Он закрывает приложение после выбора пункта меню и запускает код выбранных элементов. Что я делаю не так?Зацикливание оператора switch
static void Main()
{
int input = 0;
while (true)
{
Console.WriteLine("MENU");
Console.WriteLine("Please enter the number that you want to do:");
Console.WriteLine("1. Do thing A");
Console.WriteLine("2. Do thing B");
Console.WriteLine("3. Do thing C");
Console.WriteLine("4. Do thing D");
Console.WriteLine("5. Do thing E");
Console.WriteLine("6. Do thing F");
Console.WriteLine("7. Exit");
int menuchoice = int.Parse(Console.ReadLine());
switch (menuchoice)
{
case 1:
Console.WriteLine("Thing A has been done");
break;
case 2:
Console.WriteLine("Thing B has been done");
break;
case 3:
Console.WriteLine("Thing C has been done");
break;
case 4:
Console.WriteLine("Thing D has been done");
break;
case 5:
Console.WriteLine("Thing E has been done");
break;
case 6:
Console.WriteLine("Thing F has been done");
break;
case 7:
Environment.Exit; //edit
break;
default:
Console.WriteLine("Sorry, invalid selection");
break;
}
input++;
if (input < 30)
continue;
else
break;
}
}
Может ли кто-нибудь помочь? Заранее спасибо!
EDIT: Я знаю, что этот «Console.Exit» не работает. Я просто так выразился, чтобы не допустить, что консоль должна выйти из нее. Моя проблема в том, что мне нужно циклически перетаскивать все меню каждый раз после того, как был выбран параметр, и выбранный код опции запущен. Я хочу использовать выход для выхода. Но в этот момент меню не зацикливается, консоль закрывается после того, как выбран только один вариант и этот код кода запущен.
EDIT: Что происходит, когда вы запускаете свою программу, и вы нажимаете 1, а затем Return? Это настоящая проблема, меню, похоже, не зацикливается. После того, как я запустил свою программу и нажав 1, верните код в случае, если 1 работает отлично, но затем консоль просто закрывается. Если я снова запустил консоль и нажму 2, на этот раз код в случае 2 также отлично работает, но затем консоль снова закроется. Я проверил все мои дела, как это, и все они отлично работают.
В чем проблема? (Replace Console.Exit by Environment.Exit()) –
Что касается вашего редактирования: для меня ваш образец цикла, как и следовало ожидать. Что происходит, когда вы запускаете свою программу ('Console.Exit' заменяется на' Environment.Exit'), и вы нажимаете 1, а затем Return? Я подозреваю, что выбранный вами образец несколько отличается от кода, который вы используете (очевидно, это потому, что вышеприведенный образец не компилируется). –
Мне известно, что этот «Console.Exit» не работает. Я просто так выразился, чтобы не допустить, что консоль должна выйти из нее. Я попробовал Environment.Exit(), но, похоже, не работает. – CSharpSuzie