在结构中有一个类可以吗?

时间:2018-11-01 17:39:41

标签: c# class struct

在C#中,结构存储在堆栈中,而类存储在堆中。想象一下,如果我有一个包含巨大类的结构。这将如何运作?无论类的大小如何,该结构是否仅包含指向该类的指针?还是类的大小也会影响结构的大小?

如果前者是正确的,那么我想在结构中包含一个类是可以的。如果后者是正确的,那么我认为我应该避免这样做。

1 个答案:

答案 0 :(得分:1)

如果用“其中有一个庞大的班级”来表示,

class HugeClass { ... }

struct MyStruct {

    public HugeClass hugeClass;

}

然后自然地,字段hugeClass包含对类型为HugeClass的对象的引用,因为类是引用类型。无论实际对象有多大,引用始终只是引用,因此被引用对象分配的大小无关紧要。