C# distingue entre tipos que pueden ser de los que no pueden. Los () permiten que los tipos de valor contengan null, los (una característica del compilador) ayudan a detectar errores relacionados con null, y los (, , ) hacen que trabajar con valores posiblemente nulos sea limpio y seguro — abordando el problema ubicuo de referencia nula.
