【发布时间】:2010-09-27 03:17:41
【问题描述】:
.NET 中对象引用的大小是多少?它在 x86、x64 和/或 AnyCPU 编译之间是否有所不同?
如果它有所作为,我对 C# 很感兴趣。
【问题讨论】:
-
[查看相关问题][1] [1]:stackoverflow.com/questions/26570/…
.NET 中对象引用的大小是多少?它在 x86、x64 和/或 AnyCPU 编译之间是否有所不同?
如果它有所作为,我对 C# 很感兴趣。
【问题讨论】:
引用本身基本上是一个指针。 32 位操作系统为 32 位,64 位操作系统为 64 位。
被引用的对象的大小更复杂。
【讨论】:
要确定指针大小,您可以在不安全的上下文中使用System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr)) 或sizeof(IntPtr)。
编辑:
或IntPtr.Size。
【讨论】:
对象引用基本上是指向包含对象属性的内存的指针。因此,该引用是一个处理器字长 - 在 32 位平台上为 32 位,在 x64 上为 64 位。
【讨论】: