L'istruzione if in C#: come migliorare l'organizzazione e l'efficienza del codice

In qualsiasi linguaggio di programmazione le istruzioni condizionali permettono di verificare determinate condizioni come ad esempio l’uguaglianza, la disuguaglianza o semplicemente se un elemento è maggiore di un altro.

Queste istruzioni sono utilizzate per consentire al programma di “prendere decisioni” a seconda del verificarsi o meno di una data condizione.

Analizziamo quindi il costrutto if / else con un esempio:

if (numero == 4)
{
	Console.WriteLine ("La variabile numero è uguale a 4");
}
else
{
	Console.WriteLine ("La variabile numero è diversa da 4");
}

In questo caso, controlliamo il valore della variabile numero, e se il valore è uguale a 4, allora viene eseguito il codice contenuto nelle parentesi graffe, altrimenti viene eseguito il codice contenuto dopo l’else.

All’interno dell’if, per confrontare dei valori, possiamo utilizzare i seguenti operatori (a e b possono essere numeri o variabili):

  • a == b (a uguale a b)
  • a != b (a è diverso da b)
  • a > b (a maggiore di b)
  • a >= b (a è maggiore o uguale a b)
  • a < b (a è minore di b)
  • a <= b (a è minore o uguale a b)

é possibile inoltre concatenare gli operatori, utilizzando &&:

if (numero > 5 && numero != 6)

In questo caso, per eseguire il codice interno all’if, la variabile numero dovrà essere sia maggiore di 5 che diversa da 6, quindi dovrà verificare entrambe le condizioni.

Alle volte potremmo essere interessati a verificare due sia vera solo una di due (o più condizioni). Utilizziamo quindi l’operatore || (che indica oppure se):

if (numero > 5 || numero < 2)

In questo caso specifico, va bene qualunque valore superiore a 5 oppure inferiore a 2.

Infine, oltre al costrutto if / else, troviamo anche l’else if (letteralmente “oppure se”):

if (numero == 4)
{
	Console.WriteLine ("La variabile numero è uguale a 4");
}
else if (numero == 5)
{
	Console.WriteLine ("La variabile numero è uguale a 5");
}
else
{
	Console.WriteLine ("La variabile numero è diversa da 4 e 5");
}

In questo caso, se la variabile numero è uguale a 4, eseguire il codice interno all’if. Se non lo è, viene controllata la seconda condizione (numero == 5) ed eventualmente eseguito il codice. Se neanche la seconda condizione è verificata, viene eseguito infine il codice contenuto all’interno dell’else.

Le differenze tra l’if classico e l’if ternario in C#

L’operatore ternario nel C# ci permette di avere un’alternativa al classico costrutto if / else.

Esso permette di assegnare ad una variabile un valore, a seconda che la condizione risulti vera o falsa.
Quindi anzichè usare un costrutto if / else del tipo:

string result = "";
if (health > 0)
{
	message = "Player is alive";
}
else
{
	message = "Player is dead";
}

Possiamo utilizzare l’if ternario per sintetizzare il codice utilizzando una sola riga:

message = (health > 0) ? "Player is alive" : "Player is dead";

Con questo costrutto, verifichiamo la condizione (health > 0).

Se è vera, dopo il “?” inseriamo il valore che dovrà avere la variabile message (“Player is alive”). Se invece la condizione non si è verificata, dopo il “:” andremo ad inserire l’altro valore che dovrà avere la variabile, in questo caso “Player is dead”.

Facebook
Twitter
LinkedIn
Email

Rimani al passo

Ricevi aggiornamenti sul nostro progetto e sui nuovi percorsi.

Login