English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Espressione condizionale If di C#

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:

  1. Istruzione if

  2. Istruzione else-if

  3. Frase else

Istruzione if C#

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.

Sintassi:
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");
}
Output:
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;                    
}

Frase else if

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.

Sintassi:
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)
}
Output:
i è minore di j

Frase else

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");
}
Output:
i uguale a j

Frase if annidata

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.

Sintassi:
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.

Esempio: espressione 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");
}
Output:
i è minore di j

Usare l'operatore ternario ? : per sostituire l'espressione if else semplice.