C'est ce que je veux faire:
switch(myvar)
{
case: 2 or 5:
...
break;
case: 7 or 12:
...
break;
...
}
J'ai essayé avec "case: 2 || 5", mais cela n'a pas fonctionné.
Le but est de ne pas écrire le même code pour des valeurs différentes.
En empilant chaque boîtier de commutateur, vous remplissez la condition OR.
switch(myvar)
{
case 2:
case 5:
...
break;
case 7:
case 12:
...
break;
...
}
Vous le faites par empiler les étiquettes de cas :
switch(myvar)
{
case 2:
case 5:
...
break;
case 7:
case 12:
...
break;
...
}
case 2:
case 5:
do something
break;
Les instructions de casse échouent automatiquement si vous ne spécifiez pas autrement (en écrivant break). Donc vous pouvez écrire
switch(myvar)
{
case 2:
case 5:
{
//your code
break;
}
// etc... }
L'exemple de instruction switch montre que vous ne pouvez pas empiler case
s non vide, mais que vous devez utiliser 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.");
}
}