Istruzione switch
Fa parte della sezione Fondamenti del percorso C# di Coddy. Lezione 27 di 69.
L'istruzione switch è simile a un'istruzione if a più vie. Invece di valutare una singola condizione, controlla il valore di una variabile rispetto a più casi ed esegue il codice associato al caso corrispondente.
Ecco la struttura di base di un'istruzione switch:
switch (variable) {
case value1:
// Codice da eseguire se variable è uguale a value1
break;
case value2:
// Codice da eseguire se variable è uguale a value2
break;
// ... altri casi
default:
// Codice da eseguire se nessun caso corrisponde
break;
}- La parola chiave
switchè seguita dalla variabile che vuoi verificare, racchiusa tra parentesi. - Ogni
caserappresenta un possibile valore della variabile. - Il codice all'interno di ogni
caseviene eseguito se la variabile corrisponde al valore di quel caso.
- Ogni
casenon vuoto deve terminare conbreak(oreturn), che esce dalloswitch. Ometterlo causa un errore di compilazione: a differenza di C o Java, C# non consente mai che l’esecuzione «cada» da un case a quello successivo. Solo le etichette case vuote impilate una sopra l’altra condividono il codice, come mostrato di seguito.
- Il caso
defaultè facoltativo e viene eseguito se nessun altro caso corrisponde.
Ecco un esempio:
int day = 3;
string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... casi per gli altri giorni
default:
dayName = "Invalid day";
break;
}Puoi anche combinare più casi in uno:
int day = 3;
string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... casi per gli altri giorni
default:
dayName = "Invalid day";
break;
}Sfida
PrincipianteCrea un programma che accetti un numero di mese (1 per January, 2 per February, ecc.) e stampi la stagione a cui appartiene. Usa un'istruzione switch per la logica.
Le stagioni e i mesi corrispondenti sono:
Winter: December (12), January (1), February (2)Spring: March (3), April (4), May (5)Summer: June (6), July (7), August (8)Autumn: September (9), October (10), November (11)
Stampa il nome della stagione esattamente come scritto sopra, in inglese.
Provalo tu
using System;
public class Program {
public static void Main(string[] args) {
int month = int.Parse(Console.ReadLine());
string season = "";
// Scrivi il tuo codice qui sotto
Console.WriteLine(season);
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloIncremento/DecrementoIncremento/Decremento postfissoAbbreviazioni aritmetiche7Input/Output di base
Output di baseInterpolazione di stringheLettura dell'inputParsingRipasso - Fino a 120Ripasso - Vero o falso5Operatori Parte 2
Operatori di confrontoOperatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 33Variabili Parte 2
VarCostantiConvenzioni di denominazioneRiepilogo - Inizializzare le variabiliConversione dei tipi6Prendere decisioni
Istruzione ifIf - ElseIstruzione switchOperatore ternarioRiepilogo - If ElseIf - Else annidati9Cicli
Ciclo forCiclo whileCiclo do whileBreakContinueCiclo annidatoCiclo infinitoRiepilogo - Input dinamico12Operazioni sulle stringhe
Metodi delle stringhe Parte 1Metodi delle stringhe Parte 2Formattazione delle stringheEsercitati da solo: Compilatore C# online