2012-12-06 22 views
17

Có lẽ là một câu hỏi cơ bản nhưng tôi muốn giảm bớt một số mã bằng cách sử dụng nhiều đối số trên báo cáo trường hợp chuyển đổi. Khả thi? Cú pháp đúng?trường hợp chuyển đổi mục tiêu-c với nhiều đối số

switch (myInteger){ 
      case (1): //here I would like to apply multiple arguments as case (1 || 3 || 5) 
       <#statements#> 
       break; 
      case (2): 
       <#statements#> 
       break; 
      default: 
       break; 

Trả lời

55

Bạn có thể sử dụng nhiều case s ngay bên dưới nhau.

switch (myInteger) { 
    case 1: 
    case 3: 
    case 5: 
     // statements 
     break; 
    case 2: 
     // statements 
     break; 
    default: 
     // statements 
     break; 
} 
+1

nó là một trong những cải tiến lớn nhất trong SWIFT mà bạn có thể viết các trường hợp trong cùng một dòng tách bằng dấu phẩy. –

+1

Vì vậy, bạn đang nói rằng nếu bạn đặt một số mã trong trường hợp 5, nó sẽ chạy nếu trường hợp 1, 3 hoặc 5 được chọn? – Supertecnoboff

+0

@Supertecnoboff Có. "Tính năng" này được gọi là "thông qua". Đường dẫn thực thi tìm thấy câu lệnh case áp dụng, và sau đó thực hiện bất cứ điều gì đến sau nó cho đến khi nó đạt đến câu lệnh 'break'. –

12
case 1: 
case 3: 
case 5: 
    statements; 
    break; 
case 2: 
    statements; 
    break; 
default: 
    break; 
+2

Bạn có lỗi đánh máy (không có dấu hai chấm sau 5). Và không có nhu cầu cho các dấu ngoặc đơn. – rmaddy

+0

LOL, gõ nhanh cố gắng để đánh bại các cao điểm của câu trả lời chính xác ... cảm ơn vì đã bắt nó! –

1

Đối Swift 3 có một sửa đổi mà tôi muốn đề cập đến

switch some value to consider { 
case 1: //single argument 
    print("ABC") 

case 2,3: // multiple arguments 
    print("KLM") 

default: 
    print("XYZ") 
} 

Hy vọng nó sẽ giúp bạn. Cảm ơn

0

Chuyển trường hợp phải khai báo bên trong phương pháp chính

CÚ PHÁP

Switch (variable r expression) 
{ 
    Case 1 : 
    Body ; 
    Break 

    Case 2 : 
    Body; 
    Break; 

    Default : 
    Body ; 
    Break; 
} 
+0

Đó là cú pháp cho trường hợp chuyển đổi ở chế độ đơn giản –

Các vấn đề liên quan