Istruzione switch
Fa parte della sezione Fondamenti del percorso C# di Coddy. Lezione 27 di 70.
L'istruzione switch è simile a un'istruzione if a più vie. Invece di valutare una singola condizione, confronta il valore di una variabile con 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 permette mai che l'esecuzione «cada» da un caso a quello successivo. Solo le etichette di casi vuote poste 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 riceva un numero di mese (1 per gennaio, 2 per febbraio, ecc.) e stampi la stagione a cui appartiene. Usa un'istruzione switch per la logica.
Le stagioni e i mesi corrispondenti sono:
Winter: dicembre (12), gennaio (1), febbraio (2)Spring: marzo (3), aprile (4), maggio (5)Summer: giugno (6), luglio (7), agosto (8)Autumn: settembre (9), ottobre (10), novembre (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