c# pass .NET中的對象引用有多大?




c# pass by reference (3)

.NET中對象引用的大小是多少? 它是否在x86,x64和/或AnyCPU編譯之間有所不同?

如果它有所作為,我個人對C#感興趣。


Answer #1

要確定指針大小,可以在不安全的上下文中使用System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr))sizeof(IntPtr)

編輯:

或者IntPtr.Size


Answer #2

引用本身基本上是一個指針。 32位OS上為32位,64位OS上為64位。

引用的對象的大小更複雜。


Answer #3

對象引用基本上是指向包含對象屬性的內存的指針。 因此,引用的長度為一個處理器字 - 32位平台上為32位,x64上為64位。





reference