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

标签 c# .net

我有以下简单的类:

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/

相关文章:

c# - 如何在一对多关系 EF 4.3.1 的导航集合中删除后正确清理

c# - JSON.NET 不区分大小写的反序列化不起作用

c# - ASP.NET MVC 3 : Possible to just use the V part?

c# - __darwin_size_t 等同于 c#

c# - 如何在 C# 中将持久实体转换为具体类型

c# - 使用JavaScript从Com Visible dll调用.net dll时出错

c# - IQueryable with Foreach 结果

c# - ApprovalTests 与 TestCase (Nunit) 使用相同的批准文件

c# - 泛型的默认值

c# - 从 asp.net 打开任何文件