Assegnare Null a tipi value



A partire dal .NET Framework 2.0 in C# è possibile assegnare ad una variabile value il valore null.

Grazie alla classe generica Nullable, infatti, è possibile creare una variabile come int o double ed assegnarli il valore null, cosa prima impossibile essendo questi tipi per valore e non per referenza.

Per creare una variabile di questo tipo si usa la seguente sintassi:

tipo? nome_var;

Come si può vedere l’unica differenza che si nota è il ? dopo il tipo.

Seguendo questa sintassi, infatti, è come se si crei un nuovo oggetto Nullable<tipo>, a cui quindi può essere assegnato il valore null.

Vediamo un esempio reale:

int? var = 5;
int? ovar = null;

Abbiamo dichiarato 2 variabili int assegnado ad una un normale valore (5) e all’altra null.

Ora si creerebbe un problema se andassimo a fare ad esempio:

int a = (int)(ovar + var);

Questo perché ovar non ha un valore, ma gli è stato assegnato null.
Si può risolvere la questione semplicemente controllando una proprietà di ovar, che ricordiamo è un oggetto Nullable<int>, quindi usiamo la proprietà HasValue, che ritorna true se alla variabile non è stato assegnato null, altrimenti torna false, quindi potremmo modificare il codice così:

int a = 0;
if (var.HasValue && ovar.HasValue)
a = (int)(var + ovar);

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
Pinterest