How does a Nullable type work behind the scenes?

后端 未结 4 1961
一个人的身影
一个人的身影 2020-12-15 08:41

I\'m curious to know how the Nullable type works behind the scenes. Is it creating a new object(objects can be assigned null) with a possible value of null?

In the

4条回答
  •  难免孤独
    2020-12-15 09:07

    The nullable type is a struct consisting of two fields: a bool and a T. When the value is null, the bool is false and the T has the default value. When the value is not null, the bool is true.

    There are two main benefits to using Nullable as compared to implementing the functionality yourself. There's the language support, as described in more detail in ChaosPandion's answer, and there's the fact that boxing (converting to an object) will automatically remove the nullable "wrapper", leaving either a null reference or the plain T object.z

提交回复
热议问题