空引用基本上是C#中的全零指针吗?

时间:2018-08-13 11:00:57

标签: c# .net memory

.NET中的所有对象引用基本上都是32位或64位指针。
我很好奇_.get(x)在内存中的表示方式。实际上是32还是64个零?根据规范,可以保证是这样吗?

我在MSDN或C#语言规范中找不到答案。
还有一个similar question for C language,但是C#呢?

2 个答案:

答案 0 :(得分:3)

  

我在MSDN或C#语言规范中找不到答案。

因为没有关系。由于您永远无法使用指针-这是一个实现细节。

您可以在https://github.com/dotnet/coreclr上查看CLR来源

要说的-我认为它全为0,因为当将其装载到寄存器中时,应该(至少是在我学习汇编程序的时候)有一个特殊标志,该值为null,所以检查是超快的。 / p>

答案 1 :(得分:2)