C# ਉਹ types ਨੂੰ ਵੱਖ ਕਰਦਾ ਹੈ ਜੋ ਹੋ ਸਕਦੀਆਂ ਹਨ ਉਨ੍ਹਾਂ ਤੋਂ ਜੋ ਨਹੀਂ ਹੋ ਸਕਦੀਆਂ। () value types ਨੂੰ null ਧਾਰਨ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ, (ਇੱਕ compiler feature) null bugs ਨੂੰ catch ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀਆਂ ਹਨ, ਅਤੇ (, , ) ਸੰਭਾਵਤ-null values ਨਾਲ ਕਾਸ਼ਤਕਾਰੀ ਨੂੰ ਸਾਫ਼ ਅਤੇ ਸੁਰੱਖਿਅਤ ਬਣਾਉਂਦੀਆਂ ਹਨ — ਸਰਵਵਿਆਪੀ null-reference ਸਮੱਸਿਆ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਦੀਆਂ ਹਨ।
