C# એવા types ને અલગ કરે છે જે હોઈ શકે તેમાંથી જે ન હોઈ શકે. () value types ને null રાખવાની છૂટ આપે છે, (એક compiler feature) null bugs ને પકડવામાં મદદ કરે છે, અને (, , ) possibly-null values સાથે કામ કરવાને સ્વચ્છ અને સુરક્ષિત બનાવે છે — pervasive null-reference problem ને સંબોધતા.
