У меня проблема с использованием оператора switch, когда я пытался справиться с особой ситуацией. Например, У меня 3 случая: A, B, C.
- для A, я хочу сделать statement_1 и statement_3.
- для B, я хочу сделать statement_2 и statement_3.
- для C, я ничего не хочу делать
если я использую оператор if-else, он будет выглядеть следующим образом:
if ( not C){
do statement_3
if B
do statement 2
else if A
do statement 1
}
Если я хочу использовать оператор switch, чтобы сделать то же самое, у меня есть некоторые проблемы.
switch (variable){
case A: do statement_1
case B: do statement_2
// how to do statement 3 here?
}
Я пытаюсь избежать дублированных кодов. Поэтому я думаю, что как сделать коды настолько простыми, насколько я могу.
ОБНОВЛЕНИЕ 1:
-
чтобы сделать мои коды/вопрос более ясными, я просто хочу сделать свои коды как просто/ясно, как я могу, поэтому я хочу использовать оператор switch вместо if-else. Кроме того, я слышал, что switch-statement обычно быстрее, чем if-else. (Я не уверен на 100%, хотя).
-
Я хочу использовать switch-case, потому что Case A, B, C - тип перечисления. Oни не являются переменными. Извините за путаницу.
-
каждое утверждение содержит более 10 строк кодов. Вот почему я не хочу делать следующее:
switch (enum variable) { case A: statement1 statement3 break; case B: statement2 statement3 break;
}