Argomenti C# importanti

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

C#
Esegui il codice →
Program.cs
using System;

class Program
{
    static void Main()
    {
        string? nickname = null;
        string displayName = nickname ?? "Anonymous";
        Console.WriteLine($"{displayName} ({displayName.Length})");
    }
}
Risultato dell'esecuzione
Anonymous (9)

Esercitati con il debugger

Metti un breakpoint su un'assegnazione o una condizione importante, fai clic su Debug ed esamina i valori locali prima di passare alla riga successiva.