TOC

This article has been localized into Italian by the community.

Operatori:

L'operatore NULL coalescing

L'operatore ?? (due punti di domanda) è anche chiamato "operatore null-coalescing" perché permette di verificare un valore NULL e assegnare un valore di riserva in una linea di codice. Farlo senza questo operatore potrebbe sembrare di scarsa importanza, ma consideriamo l'esempio seguente:

string userSuppliedName = null; 

if (userSuppliedName == null)
    Console.WriteLine("Hello, Anonymous!");
else
    Console.WriteLine("Hello," + userSuppliedName);

Possiamo immaginare che la variabile userSuppliedName sia qualcosa arrivato dall'utente, ad esempio da una finestra di dialogo o da un file di dati, ovvero qualcosa che potrebbe avere un valore NULL. Dobbiamo gestirlo verificando il valore prima di usarlo, in questo caso per poi mostrarlo all'utente.

Nell'esempio qui sopra, usiamo il classico approccio if-else, ma con l'operatore null-coalescing possiamo abbreviarlo in una linea sola:

Console.WriteLine("Hello, " + (userSuppliedName ?? "Anonymous")); 

In una singola istruzione, possiamo dire all'interprete di usare la variabile userSuppliedName se ha un valore, altrimenti forniamo un valore di riserva, in questo caso "Anonymous". Breve e semplice!

Riepilogo

Come per ogni "sintassi addolcita", quale è l'operatore null-coalescing, si tratta sempre di un compromesso tra mantenere il codice breve e leggibile. Alcuni trovano che questi operatori rendano più difficile leggere e navigare il codice, mentre altri apprezzano quanto sia corto e semplice. Alla fine, sta a noi decidere!


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!