Catena 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
1234567891011121314151617181920212223242526using 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
12345678910111213141516171819202122232425using 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
123456789101112131415161718192021222324252627using 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
1234567891011121314151617181920212223242526using 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"); } } } }
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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
Catena 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
1234567891011121314151617181920212223242526using 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
12345678910111213141516171819202122232425using 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
123456789101112131415161718192021222324252627using 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
1234567891011121314151617181920212223242526using 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"); } } } }
Grazie per i tuoi commenti!