C # - Istruzione Switch
UN switchconsente di verificare l'uguaglianza di una variabile rispetto a un elenco di valori. Ogni valore è chiamato caso e per ciascuno di essi viene controllata la variabile attivataswitch case.
Sintassi
La sintassi per a switch l'istruzione in C # è la seguente:
switch(expression) {
case constant-expression1 :
statement(s);
break;
case constant-expression2 :
case constant-expression3 :
statement(s);
break;
/* you can have any number of case statements */
default : /* Optional */
statement(s);
}
Le seguenti regole si applicano a un file switch dichiarazione -
Il expression utilizzato in a switch deve avere un tipo integrale o enumerato o essere di un tipo di classe in cui la classe ha una singola funzione di conversione in un tipo integrale o enumerato.
È possibile avere un numero qualsiasi di istruzioni case all'interno di uno switch. Ogni caso è seguito dal valore da confrontare e da due punti.
Il constant-expression per un caso deve essere lo stesso tipo di dati della variabile nello switch e deve essere una costante o un valore letterale.
Quando la variabile da attivare è uguale a un caso, le istruzioni che seguono quel caso verranno eseguite fino a quando a break viene raggiunta la dichiarazione.
Quando un break viene raggiunta, lo switch termina e il flusso di controllo salta alla riga successiva dopo l'istruzione switch.
Non tutti i casi devono contenere un file break. Se nobreak appare, quindi solleverà un errore in fase di compilazione.
UN switch l'istruzione può avere un optional defaultcaso, che deve apparire alla fine dell'interruttore. Il caso predefinito può essere utilizzato per eseguire un'attività quando nessuno dei casi è vero.
Diagramma di flusso
Esempio
using System;
namespace DecisionMaking {
class Program {
static void Main(string[] args) {
/* local variable definition */
char grade = 'B';
switch (grade) {
case 'A':
Console.WriteLine("Excellent!");
break;
case 'B':
case 'C':
Console.WriteLine("Well done");
break;
case 'D':
Console.WriteLine("You passed");
break;
case 'F':
Console.WriteLine("Better try again");
break;
default:
Console.WriteLine("Invalid grade");
break;
}
Console.WriteLine("Your grade is {0}", grade);
Console.ReadLine();
}
}
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
Well done
Your grade is B