2013-02-25 135 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.