Η C# διακρίνει τύπους που μπορούν να είναι από αυτούς που δεν μπορούν. Οι () επιτρέπουν στους value types να περιέχουν null, οι (ένα χαρακτηριστικό του compiler) βοηθούν να αποφευχθούν null bugs, και οι (, , ) κάνουν την εργασία με πιθανώς null τιμές καθαρή και ασφαλή — αντιμετωπίζοντας το διαδεδομένο null-reference πρόβλημα.
