在 C# 中使用 if/else 和 switch-case 有什么区别?

csharpserver side programmingprogramming更新于 2025/10/1 19:52:17

Switch 是一个选择语句,它根据与匹配表达式的模式匹配,从候选列表中选择一个 switch 部分执行。

如果单个表达式需要根据三个或更多条件进行测试,则 switch 语句通常用作 if-else 结构的替代。

Switch 语句更快。无论有多少个不同的 case,switch 语句的平均比较次数都是一次,因此查找任意 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();
   }
}

相关文章