如何在C#8.0中编写新的Switch Expression?
switch表达式在表达式上下文中提供类似switch的语义
switch是一个选择语句,它基于与match表达式匹配的模式从一个候选列表中选择一个要执行的switch部分。
如果针对三个或更多条件测试单个表达式,则switch语句通常用作if-else构造的替代方法。
示例
编写开关的新方法
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