C# distingue tipos que podem ser daqueles que não podem. () permitem que tipos de valor contenham null, (um recurso do compilador) ajudam a detectar bugs de null, e (, , ) tornam o trabalho com valores possivelmente nulos limpo e seguro — abordando o problema onipresente de referência nula.
