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(); } }
广告