如何在 C# 8.0 中编写新的 Switch 表达式?

csharpserver side programmingprogramming更新于 2025/6/28 0:52:17

Switch 表达式在表达式上下文中提供类似 Switch 的语义

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

如果单个表达式针对三个或更多条件进行测试,则 Switch 语句通常用作 if-else 结构的替代方法。

示例

编写 Switch 的新方法

var message = c switch{
   Fruits.Red => "The Fruits is red",
   Fruits.Green => "The Fruits is green",
   Fruits.Blue => "The Fruits is blue"
};

示例 1

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;
      }
      var message = c switch{
         Fruits.Red => "The Fruits is red",
         Fruits.Green => "The Fruits is green",
         Fruits.Blue => "The Fruits is blue"
      };
      System.Console.WriteLine(message);
      Console.ReadLine();
   }
}

输出

The Fruits is green
The Fruits is green

相关文章