Programmare in C# – Le istruzioni condizionali (if, else, switch)
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. In C# esistono due costrutti fondamentali, ovvero switch e if/else. Qui di seguito impareremo come utilizzare queste condizioni.
Switch-case in C#
Per prima cosa osserviamo il costrutto usato da C# quando vogliamo testare un certo valore e procedere in diversi modi a seconda delle varie possibilità, ovvero il cosiddetto comando switch (in altri linguaggi noto anche come Select Case).
Osserviamo questo codice di esempio (per switch-case in C-sharp):
using System; namespace selectCase { class Program { public static void Main(string[] args) { Console.WriteLine("Inserire un valore da 1 a 2"); int valore = int.Parse(Console.ReadLine()); string output="Nessuno"; switch(valore) { case 0: goto default; case 1: output="Hai scelto l'opzione numero 1"; break; case 2: output="Hai scelto l'opzione numero 2"; break; default: output="Inserire un valore corretto!"; break; } Console.WriteLine(output); Console.ReadKey(true); } } }
Il costrutto switch è molto semplice: viene valutata un’espressione, nel nostro caso viene valutato il valore della variabile scelta, inserita dall’utente; nel caso che valga 0 diciamo al compilatore tramite il comando goto di spostarsi alla porzione di codice identificata da default; nel caso valga 1 valorizziamo la variabile output, e con il comando break, diciamo di uscire da tutto il costrutto switch; all’interno di ogni case dobbiamo per forza usare o break o goto.
If/Else
Analizziamo ora il costrutto if/else, che ci serve per valutare se una espressione è vera o falsa. Vediamo un semplice esempio:
if(1 == 4) Console.WriteLine ("1 è uguale a 4"); else Console.WriteLine ("1 è diverso da 4");
In questo caso viene valutata una espressione racchiusa tra le parentesi e se si verifica viene eseguito il codice subito sotto, mentre se non si verifica viene eseguito il codice subito sotto else.
Se vogliamo eseguire più istruzioni all’interno dello stesso blocco possiamo usare ancora una volta le parentesi graffe, in questo modo:
if(1 == 4) Console.WriteLine ("1 è uguale a 4"); else { Console.WriteLine ("1 è diverso da 4"); Console.WriteLine ("Era ovvio, ma era per il test!"); }
Possiamo utilizzare per la comparazione dei valori anche altri operatori
- > maggiore
- == uguale
- < minore
- != diverso
Possiamo usare gli operatori and (oppure &&)
if(5 == 5 && 1 == 1)
e or (oppure ||)
if(4 == 4 || 1 == 1)
infine possiamo usare anche else if (letteralmente “oppure se”)
if(4 != 4 && 1 == 1) Console.WriteLine ("Impossibile"); else if (1 == 3) Console.WriteLine ("1 è diverso da 4"); else Console.WriteLine ("Ultima opzione, nessuno dei casi funziona");
In quest’ultimo caso il codice dopo l’else viene eseguito se non si verifica nessuna delle altre condizioni, come avveniva in switch con default. Equivale letteralmente “all’oppure”.
Il costrutto if con else if, ha più o meno la stessa funzione dello switch.
L’operatore ternario in C#
Fra le istruzioni condizionali esiste anche una forma abbreviata per valutare un’espressione, chiamata operatore ternario.
int c = (d < 10) ? 5 : 15
In questo esempio viene assegnato un valore alla variabile c in base al valore di d: se è minore di 10 si assegna il valore 5, altrimenti il 15. In pratica a seconda che la condizione sia vera o falsa viene restituita la prima espressione (quella dopo il punto di domanda) o la seconda (quella dopo i due punti).
Ricordatevi sempre che lo sviluppo di un videogioco è una forma d’arte.
I nostri corsi : https://www.develop4fun.it/premium-corsi-online-in-abbonamento
▼ SEGUICI SU ▼
» Facebook per il Web e corsi online: https://www.facebook.com/developforfun
» Facebook di D4F Games: https://www.facebook.com/d4fgames
» Instagram per il Web e corsi online: https://www.instagram.com/develop4fun
» Instagram di D4F Games: https://www.instagram.com/d4f_games
» Twitter per il Web e corsi online: https://twitter.com/Develop4fun
» Twitter di D4F Games: https://twitter.com/D4fGames
» VISITA IL NOSTRO SITO WEB: https://www.develop4fun.it/
» ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q