2010-10-01 21 views

risposta

31

Yes, it is. Puoi utilizzare più etichette case per la stessa sezione:

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

Credo che devi mettere i due punti dopo ogni dichiarazione di caso. case "run" :, case "notrun": e così via. – DOK

+2

Ho notato che state concettualizzando questo come uno switch in stile C, dove c'è "fall through" e lo spazio tra le etichette può essere vuoto. Un modo migliore per pensarci in C# è che * ogni sezione ha una o più etichette * e * non vi è alcuna caduta tra le sezioni *. –

+0

@Eric: hai ragione, questa è una prospettiva molto più pulita che non lascia spazio a interpretazioni errate. L'analogia del "fall-through" è appiccicosa, una forte visualizzazione e difficile da scuotere. – RedFilter

Problemi correlati