2014-10-31 35 views
0

我有一個開關,我需要在相同的情況下執行相同的過程。例如:如何將多個案例加入switch語句

enum Day 
    { 
     Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday 
    } 

    private string Do(Day day) 
    { 
     switch (day) 
     { 
      case Day.Monday: 
       return "Study"; 
      case Day.Wednesday: 
       return "Study"; 
      case Day.Friday: 
       return "Study"; 
      case Day.Tuesday: 
       return "Play Futbol"; 
      case Day.Thursday: 
       return "Play Futbol"; 
      default: return "Party"; 
     } 
    } 

我喜歡加入case語句,我在這裏執行相同的操作。 我知道一個開關就像一個if-else語句,但我想知道是否存在任何方式來使用開關。

+3

檢查出來的[文件](http://msdn.microsoft.com/en-us/library/06tc147t.aspx) 。這裏有一個例子。 – 2014-10-31 13:51:14

回答

3

只是把案例放在一起,你想使用相同的代碼。

格蘭特在評論中指出,這是在文檔中:http://msdn.microsoft.com/en-us/library/06tc147t.aspx

enum Day 
{ 
    Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday 
} 

private string Do(Day day) 
{ 
    switch (day) 
    { 
     case Day.Monday: 
     case Day.Wednesday: 
     case Day.Friday: 
      return "Study"; 
     case Day.Tuesday: 
     case Day.Thursday: 
      return "Play Futbol"; 
     default: 
      return "Party"; 
    } 
} 
+0

對不起,我不小心編輯了你的帖子,而不是我的。我把我的修改回來了,這樣你的答案又回來了。 – Oliver 2014-10-31 13:57:53

+0

@Oliver,np。我想那就是它。 – 2014-10-31 14:10:56

2

如果多個情況下,同樣的事情應該做,你可以簡單地疊加這些情況:如果你需要做的事情在一個案例中,然後通過另一起案件下降

private string Do(Day day) 
{ 
    switch (day) 
    { 
     case Day.Monday: 
     case Day.Wednesday: 
     case Day.Friday: 
      return "Study"; 
     case Day.Tuesday: 
     case Day.Thursday: 
      return "Play Futbol"; 
     default: 
      return "Party"; 
    } 
} 

,這是不能直接。相反,你必須寫一個明確的goto case

switch (str) 
{ 
    case "1": 
    case "small": 
     cost += 25; 
     break; 
    case "2": 
    case "medium": 
     cost += 25; 
     goto case "1"; 
    case "3": 
    case "large": 
     cost += 50; 
     goto case "1"; 
    default: 
     Console.WriteLine("Invalid selection. Please select 1, 2, or 3."); 
     break; 
} 
相關問題