C# membezakan jenis yang boleh menjadi daripada yang tidak boleh. () membolehkan value type memegang null, (satu ciri pengkompil) membantu mengesan pepijat null, dan (, , ) menjadikan kerja dengan nilai yang mungkin null bersih dan selamat — menangani masalah rujukan null yang berleluasa.
