2013-02-25 109 views
4

两个常数(1 + 2)共享相同的case语句。我不想让代码翻倍。switch语句的语法

什么是正确的语法来做到这一点?

switch (expression) { 
     case 0: 
      [self taskA]; 
      break; 
     case 1: 
      [self taskB]; 
      break; 
     case 2: 
      [self taskB] 
      break; 
     default: 
      break; 
    } 

回答

9

用途:

switch (expression) { 
    case 0: 
     [self taskA]; 
     break; 
    case 1: 
    case 2: 
     [self taskB]; 
     break; 
    default: 
     break; 
} 

编辑1:

switch我们说一个术语叫做落空。每当控制达到一个标签说case 0:它属于直到break被发现。在break控件被发送到switch的右花括号。

如果没有遇到break,则进入下一个case,如case,然后case 2。因此,上述case 1case 2股一个break声明。

1

多个标签的情况下可以参考同样的语句,如果突破或者退货没有在案件结束使用。 如果你没有的情况下,1使用break语句,执行流入的情况下2.