Основной ответ заключается в том, что в обычном ходе событий вы не хотите выполнять оба оператора в блоке 'if' и в блоке 'else' за один проход кода (зачем беспокоиться об условии, если вы делаете ) и вы не можете выполнить оба набора операторов, не перепрыгивая через гротескные обручи.
Некоторые гротескные обручи - злой код!
if (condition == true)
{
...stuff...
goto Else;
}
else
{
Else:
...more stuff...
}
Конечно, это простое злоупотребление (любым) языком, потому что оно эквивалентно:
if (condition == true)
{
...stuff...
}
...more stuff...
Тем не менее, он может достичь того, что задает вопрос. Если вам нужно выполнить оба блока независимо от того, является ли условие истинным или ложным, все становится немного сложнее.
done_then = false;
if (condition == true)
{
Then:
...stuff...
done_then = true;
goto Else;
}
else
{
Else:
...more stuff...
if (!done_then) goto Then;
}