I tipi riferimento nullable in C#
In questa lezione userai i tipi riferimento nullable perché il compilatore ti aiuti a trovare i punti in cui può comparire un valore null.
Introduzione
L'errore NullReferenceException si verifica quando accedi a una variabile che vale null, ed è uno degli errori più comuni. C# permette di indicare esplicitamente quali variabili possono essere null con il simbolo ?, come in string?. Così il compilatore avvisa se usi quella variabile senza aver prima controllato il null.
La variabile nickname ha il tipo string?, quindi può valere null. L'operatore ?? (null-coalescing) restituisce "Anonymous" se nickname è null, per questo displayName ha sempre un valore e accedere a Length è sicuro. Il risultato stampato è Anonymous (9).
Esempio C# eseguibile
using System;
class Program
{
static void Main()
{
string? nickname = null;
string displayName = nickname ?? "Anonymous";
Console.WriteLine($"{displayName} ({displayName.Length})");
}
}
Anonymous (9)