Каков размер ссылки на объект в .NET? Различается ли это между компиляцией x86, x64 и/или AnyCPU?
Если это имеет значение, я лично заинтересован в С#.
Ответ 1
Эта ссылка сама по себе является указателем. 32 бита в 32-битной ОС, 64 бит на 64-битной ОС.
Размер связанного объекта более сложный.
Ответ 2
Для определения размера указателя вы можете использовать System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr)) или sizeof(IntPtr) в небезопасном контексте.
Edit:
Или IntPtr.Size.
Ответ 3
Ссылка на объект в основном представляет собой указатель на память, которая содержит атрибуты объекта. Таким образом, эта ссылка представляет собой одно процессорное слово длиной - 32 бит на 32-битных платформах и 64 бит на x64.