在C#中,结构存储在堆栈中,而类存储在堆中。想象一下,如果我有一个包含巨大类的结构。这将如何运作?无论类的大小如何,该结构是否仅包含指向该类的指针?还是类的大小也会影响结构的大小?
如果前者是正确的,那么我想在结构中包含一个类是可以的。如果后者是正确的,那么我认为我应该避免这样做。
答案 0 :(得分:1)
如果用“其中有一个庞大的班级”来表示,
class HugeClass { ... }
struct MyStruct {
public HugeClass hugeClass;
}
然后自然地,字段hugeClass
包含对类型为HugeClass
的对象的引用,因为类是引用类型。无论实际对象有多大,引用始终只是引用,因此被引用对象分配的大小无关紧要。