In C# Tipi di Riferimento possono rappresentare un valore inesistente semplicmente assegnando alla variabile un riferimento Null, mentre i Tipi di Valore non possono rappresentare normalmente i valori Null. Ad esempio:

   string s = null; / / OK, Tipo di riferimento
   int i = null; / / errore di compilazione, Tipo valore non può essere null

Per rappresentare un valore Null in  Tipi di Valore, è necessario utilizzare uno speciale costrutto chiamato Tipo Nullable.

Un Tipo Nullable è indicato con un tipo di valore seguito dal simbolo ? :

   int? i = null;