我有以下简单类:
class Stack {
public class Node // inner class
{
string item;
Node next;
}
}
包含N
项的堆栈使用:8 bytes (reference to String)
+ 8 bytes (reference to Node)
+ 16 bytes (sync block index + type object pointer)
。但我想知道内部课程开销。我需要额外添加8 bytes
吗?因此,具有N个项目的堆栈使用~40 * N个字节或~32 * N个字节?
答案 0 :(得分:6)
C#内部类没有像Java
这样的外部类的实例的隐藏引用。如果您想要这种行为,可以手动创建。在C#中没有类似的东西。
内部类主要具有不同的访问规则和不同结构的名称。此外,内部类共享外部类的泛型类型参数,可能创建开销。它主要是一个组织概念(在C#中)。