2010-10-01 8 views

Répondre

31

Yes, it is. Vous pouvez utiliser plusieurs étiquettes de cas pour la même section:

switch (i) 
{ 
    case "run": 
    case "notrun": 
    case "runfaster": 
     DoRun(); 
     break; 
    case "save": 
     DoSave(); 
     break; 
    default: 
     InvalidCommand(command); 
     break; 
} 
+0

Je crois que vous devez mettre des deux-points après chaque déclaration de cas. case "run" :, case "notrun": et ainsi de suite. – DOK

+2

Je note que vous conceptualisez ceci comme un commutateur de style C, où il y a «tomber à travers» et l'écart entre les étiquettes peut être vide. Une meilleure façon d'y penser en C# est que * chaque section a une ou plusieurs étiquettes * et * il n'y a pas de chute entre les sections *. –

+0

@Eric: Vous avez raison, c'est une perspective beaucoup plus propre ne laissant aucune place à une mauvaise interprétation. L'analogie de "fall through" est une analogie, une forte visualisation, et difficile à secouer. – RedFilter