C# उन types को अलग करता है जो हो सकते हैं उनसे जो नहीं हो सकते। () value types को null रखने देते हैं, (एक compiler feature) null bugs को पकड़ने में मदद करते हैं, और (, , ) संभावित-null values के साथ काम करना स्वच्छ व safe बनाते हैं — व्यापक null-reference समस्या को संबोधित करते हुए।
