在C#中使用if / else和switch-case有什么区别?
Switch是一个选择语句,它基于具有match表达式的模式匹配从一个候选列表中选择一个要执行的switch部分。
如果针对三个或更多条件测试单个表达式,则switch语句通常用作if-else构造的替代方法。
切换语句更快。switch语句比较的平均数将为1,而不管您有多少种不同的情况。因此,任意情况的查找为O(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("水果未知。"); 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("水果未知。"); Console.ReadLine(); } }