Menu
CoddyTech

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 case rappresenta un possibile valore della variabile.
  • Il codice all'interno di ogni case viene eseguito se la variabile corrisponde al valore di quel caso.
  • Ogni case non vuoto deve terminare con break (o return), che esce dallo switch. 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;
}
challenge icon

Sfida

Principiante

Crea 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);
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore C# online