Istruzione else in C#

L'istruzione if in C# permette di eseguire un blocco di codice solo se una determinata condizione è soddisfatta. Tuttavia, in molti casi, potrebbe essere necessario specificare un'istruzione alternativa da eseguire nel caso in cui la condizione non sia soddisfatta.

In questa lezione, impareremo a utilizzare l'istruzione else in C# per gestire situazioni in cui è necessario eseguire un blocco di codice alternativo.

Istruzione else

L'istruzione else è utilizzata in combinazione con l'istruzione if e ne rappresenta la controparte.

Attraverso di essa è possibile specificare un'istruzione alternativa al caso in cui la condizione dell'istruzione if non sia soddisfatta.

Ritorniamo all'esempio del programma per valutare un film, iniziato nelle lezioni precedenti. In questo caso, vogliamo che il programma stampi un messaggio alternativo nel caso in cui il voto del film non sia 100.

Console.WriteLine("Inserisci il voto medio del film:");
int voto = Convert.ToInt32(Console.ReadLine());

/* Convertiamo il voto in stelle */
if (voto == 100)
{
    Console.WriteLine("Il film ha ottenuto ★★★★★");
    Console.WriteLine("Punteggio Perfetto!");
}
else
{
    Console.WriteLine("Il film ha ottenuto " + voto + " stelle.");
}

Se eseguiamo il programma e inseriamo un voto pari a 100, vedremo stampati i messaggi Il film ha ottenuto ★★★★★ e Punteggio Perfetto!. Se, invece, inseriamo un qualunque altro voto, vedremo stampato il messaggio Il film ha ottenuto x stelle..

L'istruzione else è sempre associata all'istruzione if che la precede e non può essere utilizzata da sola. Inoltre, può essere utilizzata una sola volta per ogni istruzione if.

if (condizione)
{
    // Blocco di codice se la condizione è vera
}
else
{
    // Blocco di codice se la condizione è falsa
}

Così come per l'istruzione if, l'istruzione else può essere associata sia ad un'istruzione singola che ad un blocco di istruzioni.

if (condizione)
{
    // Blocco di codice se la condizione è vera
}
else
    istruzione;

Ricapitolando:

Definizione

Istruzione else in C#

L'istruzione else è utilizzata in combinazione con l'istruzione if e permette di specificare un'istruzione alternativa da eseguire quando la condizione dell'istruzione if non è soddisfatta.

La sintassi è la seguente:

if (condizione)
    istruzione;
else
    istruzione_alternativa;

Ad un'istruzione if può essere associata una sola istruzione else.

Istruzioni else if

L'istruzione if e l'istruzione else permettono, se combinate insieme, di selezionare tra due istruzioni alternative nei casi in cui una condizione sia, rispettivamente, vera o falsa.

Potrebbero presentarsi casi, però, in cui la scelta non è semplicemente tra due opzioni, ma tra tre o più. In tali casi, possiamo utilizzare l'istruzione else if combinata con le due precedenti.

In generale, la sintassi per l'istruzione else if è la seguente:

if (condizione1)
{
    // Blocco di codice se la condizione1 è vera
}
else if (condizione2)
{
    // Blocco di codice se la condizione2 è vera
}
else if (condizione3)
{
    // Blocco di codice se la condizione3 è vera
}
else
{
    // Blocco di codice se nessuna delle condizioni precedenti è vera
}

L'istruzione else if, a differenza dell'istruzione else, può essere utilizzata più volte all'interno di un blocco di codice e può essere associata ad un'istruzione if o ad un'altra istruzione else if.

Ritornando all'esempio del programma per valutare un film, possiamo aggiungere un'istruzione else if per stampare un messaggio specifico nel caso in cui il voto del film sia 0.

Console.WriteLine("Inserisci il voto medio del film:");
int voto = Convert.ToInt32(Console.ReadLine());

/* Convertiamo il voto in stelle */
if (voto == 100)
{
    Console.WriteLine("Il film ha ottenuto ★★★★★");
    Console.WriteLine("Punteggio Perfetto!");
}
else if (voto == 0)
{
    Console.WriteLine("Il film ha ottenuto 0 stelle.");
    Console.WriteLine("Punteggio Pessimo!");
}
else
{
    Console.WriteLine("Il film ha ottenuto " + voto + " stelle.");
}

Il codice di sopra eseguirà solo uno dei tre blocchi di codice a seconda del valore inserito dall'utente.

Ricapitolando:

Definizione

Istruzione else if in C#

L'istruzione else if può essere utilizzata in combinazione con l'istruzione if per specificare una serie di condizioni alternative da valutare.

La sintassi è la seguente:

if (condizione1)
    istruzione1;
else if (condizione2)
    istruzione2;
else if (condizione3)
    istruzione3;
else
    istruzione_alternativa;

L'istruzione else if può essere utilizzata più volte all'interno di un blocco di codice e può essere associata ad un'istruzione if o ad un'altra istruzione else if.

Un'importante osservazione riguarda il fatto che l'istruzione else finale può essere omessa, se non necessaria. In tal caso, se nessuna delle condizioni precedenti è soddisfatta, il programma non eseguirà alcun blocco di codice.

if (condizione1)
    istruzione1;
else if (condizione2)
    istruzione2;
else if (condizione3)
    istruzione3;

In questo caso, se nessuna delle condizioni condizione1, condizione2 o condizione3 è soddisfatta, il programma non eseguirà alcun blocco di codice.

L'importante è, comunque, se essa è presente, che l'istruzione else sia sempre l'ultima all'interno del blocco di codice.

Non possiamo, infatti, avere un'istruzione else prima di un'istruzione else if.

if (condizione1)
    istruzione1;
else        /* ERRORE ! */
    istruzione_alternativa;
else if (condizione2)
    istruzione2;

In Sintesi

In questa lezione abbiamo imparato a utilizzare l'istruzione else in combinazione con l'istruzione if per specificare un'istruzione alternativa da eseguire quando la condizione dell'istruzione if non è soddisfatta.

Abbiamo anche visto come utilizzare l'istruzione else if per specificare una serie di condizioni alternative da valutare.

In entrambi i casi, l'istruzione else e l'istruzione else if ci permettono di creare programmi più complessi e flessibili, in grado di gestire una varietà di situazioni diverse.

Nella prossima lezione, aggiungeremo un altro importante tassello alle nostre conoscenze sulle istruzioni condizionali: le espressioni logiche.