Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Catena If-Else | Strutture di Controllo
Fondamenti di C#

bookCatena If-Else

Possiamo aggiungere condizioni aggiuntive utilizzando la parola chiave else if. Le condizioni aggiuntive vengono valutate nel caso in cui le condizioni precedenti non siano soddisfatte.

if (expression) 
{
    // code if first condition is met
}
else if (expression)
{
    // code if second condition is met
} else 
{
    // code if no condition is met
}


Consideriamo un esempio con una catena if else:

main.cs

main.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }

Nel programma sopra abbiamo concatenato condizioni utilizzando if-else if. Questo si chiama concatenazione condizionale. La prima condizione value_1 < value_2 viene valutata. Poiché è false, il programma passa alla condizione successiva value_1 > value_2 che è true e quindi esegue il relativo blocco di codice e interrompe l'esecuzione della catena.

La caratteristica principale della concatenazione condizionale è che interrompe l'esecuzione della catena non appena una condizione viene soddisfatta.

Considera il seguente codice:

main.cs

main.cs

copy
12345678910111213141516171819202122232425
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

Anche se tutte e tre le condizioni sono true, l'esecuzione si interrompe alla prima condizione poiché si tratta di una catena.

Ora proviamo a scriverlo utilizzando semplici parole chiave if senza concatenazione:

main.cs

main.cs

copy
123456789101112131415161718192021222324252627
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

Nel caso sopra, ogni condizione viene valutata individualmente e non come parte di una catena, quindi tutte e tre le istruzioni vengono stampate in output.

Possiamo anche aggiungere la parola chiave else alla fine della catena if-else, che verrà eseguita se nessuna condizione viene soddisfatta:

main.cs

main.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
question mark

Quali righe saranno incluse nell'output del seguente programma?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 9

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain the difference between using chained if-else and separate if statements?

Can you provide more examples of conditional chaining?

What happens if none of the conditions in the if-else chain are true?

Awesome!

Completion rate improved to 1.59

bookCatena If-Else

Scorri per mostrare il menu

Possiamo aggiungere condizioni aggiuntive utilizzando la parola chiave else if. Le condizioni aggiuntive vengono valutate nel caso in cui le condizioni precedenti non siano soddisfatte.

if (expression) 
{
    // code if first condition is met
}
else if (expression)
{
    // code if second condition is met
} else 
{
    // code if no condition is met
}


Consideriamo un esempio con una catena if else:

main.cs

main.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }

Nel programma sopra abbiamo concatenato condizioni utilizzando if-else if. Questo si chiama concatenazione condizionale. La prima condizione value_1 < value_2 viene valutata. Poiché è false, il programma passa alla condizione successiva value_1 > value_2 che è true e quindi esegue il relativo blocco di codice e interrompe l'esecuzione della catena.

La caratteristica principale della concatenazione condizionale è che interrompe l'esecuzione della catena non appena una condizione viene soddisfatta.

Considera il seguente codice:

main.cs

main.cs

copy
12345678910111213141516171819202122232425
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

Anche se tutte e tre le condizioni sono true, l'esecuzione si interrompe alla prima condizione poiché si tratta di una catena.

Ora proviamo a scriverlo utilizzando semplici parole chiave if senza concatenazione:

main.cs

main.cs

copy
123456789101112131415161718192021222324252627
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

Nel caso sopra, ogni condizione viene valutata individualmente e non come parte di una catena, quindi tutte e tre le istruzioni vengono stampate in output.

Possiamo anche aggiungere la parola chiave else alla fine della catena if-else, che verrà eseguita se nessuna condizione viene soddisfatta:

main.cs

main.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
question mark

Quali righe saranno incluse nell'output del seguente programma?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 9
some-alt