C# skiller mellom typer som kan være og de som ikke kan det. () lar verdityper inneholde null, (en kompilatorfunksjon) hjelper til med å fange null-feil, og (, , ) gjør arbeid med mulig null-verdier rent og sikkert — og løser det gjennomgripende null-referanse-problemet.
