两个常量(1 + 2)共享相同的case语句。我不想加倍代码。
执行此操作的正确语法是什么?
switch (expression) {
case 0:
[self taskA];
break;
case 1:
[self taskB];
break;
case 2:
[self taskB]
break;
default:
break;
}
答案 0 :(得分:10)
使用:
switch (expression) {
case 0:
[self taskA];
break;
case 1:
case 2:
[self taskB];
break;
default:
break;
}
编辑1:
在switch
我们说的是一个名为 fall-through 的术语。每当控件到达标签case 0:
时,它就会落到break
之前。在break
上,控件会发送到switch
的结束括号。
如果未遇到break
,则转到下一个case
,如case
然后case 2
。因此,case 1
和case 2
上方共享一个break
语句。
答案 1 :(得分:1)
如果在案例结尾处未使用break或return,则多个case标签可以引用相同的语句。 如果在案例1中没有使用break语句,则执行流程进入案例2。