Как повторно использовать метки блоков переключателей без перехода?C#

Место общения программистов C#
Anonymous
Как повторно использовать метки блоков переключателей без перехода?

Сообщение Anonymous »

Как реализовать следующий код без перехода и ненужной сложности кода?

Код: Выделить всё

namespace Test
{
static class Program
{
bool keyA = false;
bool keyB = false;
// ...
static void Main(string[] args)
{
foreach (string arg in args)
{
switch (arg.ToLowerInvariant())
{
case "-a":
if(keyA) break;
keyA = true;
// do here also what the A key requires
break;
case "-b":
if(keyB) break;
keyB = true;
// do here also what the B key requires
goto case "-a"; // key B includes the action of key A
// ...
}
}
}
}
}
Единственное, что напрашивается, это продублировать строки кода от ключа А до ключа Б или использовать запихивание всего в методы, но это не выглядит удобным и компактным для просмотра.< /п>

Подробнее здесь: https://stackoverflow.com/questions/783 ... thout-goto

Вернуться в «C#»