如何在switch语句中添加“或”?

这是我想要做的:

switch(myvar) { case: 2 or 5: ... break; case: 7 or 12: ... break; ... } 

我尝试了“情况:2 || 5”,但没有奏效。

目的是不要为不同的值编写相同的代码。

通过堆叠每个开关盒,您可以实现OR条件。

 switch(myvar) { case 2: case 5: ... break; case 7: case 12: ... break; ... } 

你可以通过堆放箱子标签来实现 :

 switch(myvar) { case 2: case 5: ... break; case 7: case 12: ... break; ... } 
 case 2: case 5: do something break; 

如果您没有另外指定(通过书写中断),个案陈述将自动消失。 因此,你可以写

 switch(myvar) { case 2: case 5: { //your code break; } 

//等等…}

switch语句的例子表明你不能堆栈非空的case ,但是应该使用goto s:

 // statements_switch.cs using System; class SwitchTest { public static void Main() { Console.WriteLine("Coffee sizes: 1=Small 2=Medium 3=Large"); Console.Write("Please enter your selection: "); string s = Console.ReadLine(); int n = int.Parse(s); int cost = 0; switch(n) { case 1: cost += 25; break; case 2: cost += 25; goto case 1; case 3: cost += 50; goto case 1; default: Console.WriteLine("Invalid selection. Please select 1, 2, or3."); break; } if (cost != 0) Console.WriteLine("Please insert {0} cents.", cost); Console.WriteLine("Thank you for your business."); } }