c#中object字节问题

C#中类类型是引用类型,本质是个指针

所以C#中所有类对象本身都是4字节(32位机),包含一个内存地址,这个地址指向堆内存空间

class A

{

public int i;

public A a;

}

A object = new A();

object本身占用4字节内存,存放堆内存地址,这块内存的大小是8字节(int 4字节,a也是四字节),当成员a实例化的时候,只是a的内容不是null了,存放堆内存中的另一个地址,指向一块8字节内存空间。

因为能确定A的一个对象占用多少内存空间(4字节,C#所有类对象都是占4字节,在32位机中),所以可以定义

资料引用:http://www.knowsky.com/540666.html

原文地址:https://www.cnblogs.com/leon032/p/2218704.html