为什么Object.ReferenceEquals(可为空的原语的null)为真?

时间:2018-03-14 19:19:36

标签: c# reference nullable

所以我们可以拥有可以为空的原始类型

bool? x = null;

哪个好。但我的理解一直是它实际上不是null 引用,因为

x.HasValue; //false

是可能的。

我一直认为nullables是带有运算符和Equals重载的类或结构,但今天我检查了

Object.ReferenceEquals(null, x); //true

我不知道

同时它如何成为指向null 的引用,它具有可调用的非扩展属性?!

如果这是一个编译器技巧,有没有人知道它究竟是什么做的文档?

0 个答案:

没有答案