English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C# fornisce molte istruzioni di decisione, che possono aiutare il flusso di un programma C# basato su alcune condizioni logiche. In questo capitolo, imparerai le istruzioni if, else if, else e le istruzioni if else annidate per controllare il flusso in base alle condizioni.
C# include le seguenti istruzioni if:
Istruzione if
Istruzione else-if
Frase else
L'istruzione if contiene una condizione booleana seguita da un blocco di codice da eseguire. Durante l'esecuzione, se la condizione booleana è valutata come true, viene eseguito il blocco di codice, altrimenti non viene eseguito.
if(condition) { //Blocco di codice da eseguire se la condizione è vera }
int i = 10, j = 20; if (i < j) { else if (i > j) } if(i > j) { Console.WriteLine("i è maggiore di j"); }
i è minore di j
Nell'esempio sopra, la condizione booleana della prima istruzione if i < j è valutata come true, quindi il compilatore C# eseguirà il seguente blocco di codice. La condizione della seconda istruzione if i > j è valutata come false, quindi il compilatore non eseguirà il suo blocco di codice.
L'espressione di condizione deve restituire un valore booleano, altrimenti il compilatore C# genererà un errore durante la compilazione.
int i = 10, j = 20; if (i + 1) { Console.WriteLine("i è minore di j"); } if (i + j) { Console.WriteLine("i è maggiore di j"); }
Puoi chiamare una funzione che restituisce un valore booleano nell'istruzione if.
static void Main(string[] args) { int i = 10, j = 20; if (isGreater(i, j)) { Console.WriteLine("i è minore di j"); } if (isGreater(j, i)) { Console.WriteLine("j è maggiore di i"); } } static bool isGreater(int i, int j) { return i > j; }
Puoi utilizzare più frasi else if dopo una frase if. Verranno eseguite solo quando il risultato di calcolo della condizione if è false. Pertanto, una delle frasi if o else if può essere eseguita, ma non entrambe contemporaneamente.
if(condition1) { // Codice blocco da eseguire se condition1 viene valutato come true } else if(condition2) { // Codice blocco eseguito quando // condition1 calcolato come false // condition2 calcolato come true } else if(condition3) { // Codice blocco eseguito quando // condition1 calcolato come false // condition2 calcolato come false // condition3 calcolato come true }
Esempio di utilizzo della frase else if.
int i = 10, j = 20; if(i == j) { Console.WriteLine("i è uguale a j"); } else if(i > j) { Console.WriteLine("i è maggiore di j"); } else if(i < j) { else if (i > j) }
i è minore di j
La frase else può apparire solo dopo una frase if o else if e può essere utilizzata una sola volta all'interno di una frase if-else. La frase else non può contenere alcuna condizione e verrà eseguita quando tutti i risultati di calcolo delle condizioni if e else if sono false.
int i = 20, j = 20; if(i > j) { Console.WriteLine("i maggiore di j"); } else if(i < j) { Console.WriteLine("i minore di j"); } else { Console.WriteLine("i uguale a j"); }
i uguale a j
C supporta un altro if-else all'interno di un altro if-else. Questo si chiama frase if-else annidata. Le frasi if annidate rendono il codice più leggibile.
if(condition1) { if(condition2) { // Codice blocco eseguito quando // condition1 e condition2 calcolati come true } else if(condition3) { if(condition4) { // Codice blocco eseguito quando // Solo i risultati di calcolo di condition1, condition3 e condition4 sono true } else if(condition5) { // Codice blocco eseguito quando // Solo i risultati di calcolo di condition1, condition3 e condition5 sono true } else { // Codice blocco eseguito quando // condition1 e condition3 valutati come true // Il risultato del calcolo di condition4 e condition5 è false } } }
Esempio di utilizzo di una frase if-else annidata.
int i = 10, j = 20; if (i != j) { { else if (i > j) } { Console.WriteLine("i è maggiore di j"); } } Console.WriteLine("i è uguale a j"); }
i è minore di j
Usare l'operatore ternario ? : per sostituire l'espressione if else semplice.