C# 中使用 if/else 和 switch-case 的區別是什麼?


Switch 是一種選擇語句,它依據匹配表示式與匹配模式進行選擇,從候選清單中選擇單個 switch 部分進行執行。

如果將單個表示式與三個或更多條件進行測試,則 switch 語句通常可用作 if-else 結構的替代項。

Switch 語句動作更快。switch 語句的平均比較數為 1,而與有多少個不同 case 無關,因此,查詢任意 case 時的複雜度為 O(1)

使用 Switch 

示例

class Program{
public enum Fruits { Red, Green, Blue }
public static void Main(){
   Fruits c = (Fruits)(new Random()).Next(0, 3);
   switch (c){
      case Fruits.Red:
         Console.WriteLine("The Fruits is red");
         break;
      case Fruits.Green:
         Console.WriteLine("The Fruits is green");
         break;
      case Fruits.Blue:
         Console.WriteLine("The Fruits is blue");
         break;
      default:
         Console.WriteLine("The Fruits is unknown.");
         break;
   }
   Console.ReadLine();
}
Using If else
class Program{
   public enum Fruits { Red, Green, Blue }
   public static void Main(){
      Fruits c = (Fruits)(new Random()).Next(0, 3);
      if (c == Fruits.Red)
         Console.WriteLine("The Fruits is red");
      else if (c == Fruits.Green)
         Console.WriteLine("The Fruits is green");
      else if (c == Fruits.Blue)
         Console.WriteLine("The Fruits is blue");
      else
         Console.WriteLine("The Fruits is unknown.");
      Console.ReadLine();
   }
}

更新於: 2020 年 8 月 19 日

346 次瀏覽

開啟你的 事業

完成課程並獲得認證

開始
廣告
© . All rights reserved.