从我学习OOPS的第一天起,我就知道一个类是一个逻辑实体,不需要任何空间。
但今天我只是阅读有关内存管理的内容,发现C#中Class的大小不是0.类实例的大小由下式确定:
由于Empty类没有任何数据所以第一点将是0但是其他两点是什么? 为什么空类的大小不为零?
答案 0 :(得分:2)
MSDN上定义的C#“类”
类是一种构造,它允许您通过将其他类型,方法和事件的变量分组在一起来创建自己的自定义类型。一个类就像一个蓝图。它定义了类型的数据和行为。如果该类未声明为静态,则客户端代码可以通过创建分配给变量的对象或实例来使用它。变量保留在内存中,直到对它的所有引用都超出范围。那时,CLR将其标记为有资格进行垃圾收集。如果该类声明为静态,则内存中只存在一个副本,客户端代码只能通过类本身访问它,而不是实例变量。