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