c#是否有内部额外的开销?

Ana*_*oly 2 .net c#

我有以下简单的类:

class Stack {
  public class Node // inner class
  {
      string item;
      Node next;
  }
}
Run Code Online (Sandbox Code Playgroud)

包含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字节?

usr*_*usr 6

C#内部类没有对外部类的实例的隐藏引用,就像Java它一样.如果您想要这种行为,可以手动创建.在C#中没有类似的东西.

内部类主要具有不同的访问规则和不同结构的名称.此外,内部类共享外部类的泛型类型参数,这可能会产生开销.它主要是一个组织概念(在C#中).