C# ان types کو الگ کرتا ہے جو ہو سکتے ہیں اور جو نہیں۔ () value types کو null رکھنے دیتے ہیں، (ایک compiler feature) null کے bugs کو پکڑنے میں مدد دیتے ہیں، اور (, , ) ممکنہ طور پر null values کے ساتھ کام کو صاف اور محفوظ بناتے ہیں — null-reference کے وسیع مسئلے کو حل کرتے ہیں۔
