Altro
Casi multipli nella dichiarazione switch
C'è un modo per passare attraverso più dichiarazioni di caso senza dichiarare "valore di caso:` ripetutamente?
So che questo funziona:
switch (value)
{
case 1:
case 2:
case 3:
//do some stuff
break;
case 4:
case 5:
case 6:
//do some different stuff
break;
default:
//default stuff
break;
}
ma vorrei fare qualcosa del genere:
switch (value)
{
case 1,2,3:
//Do Something
break;
case 4,5,6:
//Do Something
break;
default:
//Do the Default
break;
}
Questa sintassi mi viene in mente da una lingua diversa o mi manca qualcosa?
551
3
Non esiste una sintassi in C++ o C# per il secondo metodo che hai menzionato.
Non c'è niente di sbagliato nel tuo primo metodo. Se però hai degli intervalli molto grandi, basta usare una serie di istruzioni if.
Questa sintassi viene dal Visual Basic Select...Case Statement:
Non puoi usare questa sintassi in C#. Invece, devi usare la sintassi del tuo primo esempio.
Una sfaccettatura meno conosciuta di switch in C# è che si basa su operator= e dato che può essere sovrascritto si potrebbe avere qualcosa del genere:
pre> codice> stringa s = foo();
switch (s) { caso "abc": /.../ break; caso "def": /.../ break; }