我有以下简单的类:
class Stack {
public class Node // inner class
{
string item;
Node next;
}
}
具有N
项的堆栈使用:8 个字节(对 String 的引用)
+ 8 个字节(对 Node 的引用)
+ 16 字节(同步块(synchronized block)索引 + 类型对象指针)
。但我想知道内部类的开销。我是否需要添加额外的 8 个字节
?那么具有 N 项的堆栈使用 ~ 40*N 字节或 ~32*N 字节?
最佳答案
C# 内部类没有像 Java
那样对外部类实例的隐藏引用。如果您想要该行为,您可以手动创建它。 C# 中没有这样的东西。
内部类主要有不同的访问规则和不同的结构名称。此外,内部类共享外部类的泛型类型参数,这可能会产生开销。它主要是一个组织概念(在 C# 中)。
关于c# - c# 是否有内部类额外开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35059268/