L'operatore ternario '?'
L'operatore ternario '?' è una forma sintetica dell'istruzione if...else. Facciamo subito un esempio per capire come si usa. Consideriamo le seguenti istruzioni:
Usando l'operatore '?' possiamo riscrivere le istruzioni precedenti nel seguente modo:
Le parentesi tonde intorno alla condizione sono opzionali, ma migliorano la leggibilità del codice. In altre parole, avremmo potuto anche scrivere:
La precedente istruzione in realtà è composta da due istruzioni messe insieme (come accade spesso nel linguaggio C). Da una parte abbiamo un'assegnazione "max = " e dall'altro lato dell'uguale abbiamo un'espressione che utilizza l'operatore '?'. Dunque la parte che utilizza l'operatore ternario è:
Il significato è il seguente: se alfa è maggiore di beta, l'espressione assume il valore alfa; altrimenti assume il valore beta. L'operatore '?' si chiama ternario perché opera su tre termini ed esattamente:
Come si vede dal nostro esempio, l'operatore '?' non si usa mai da solo, ma insieme ad una assegnazione o ad altre istruzioni.
Esso può risultare comodo per inizializzare una variabile (nel nostro esempio max) con due valori diversi, a seconda del risultato di una certa condizione. E' molto usato dai programmatori in sostituzione dell'if...else per la sua sinteticità, ma è anche deprecato da alcuni perché rende la lettura e la comprensione del codice più difficile. Usarlo oppure no è insomma una questione di gusti personali...
Sito realizzato in base al template offerto da
http://www.graphixmania.it