C#内存分配:静态类和静态实例之间的区别

时间:2013-04-25 06:45:43

标签: c# memory-management static compact-framework instance

CLR如何在这两种情况下分配内存:
它们是否都分配在静态存储区中?

static class A 
{
    //Some methods
}

class A 
{
    //Some methods    
}
class B
{
    static A inst = new A();
    //Some methods
}

对于以下语句,编译器是

static A inst = new A();

在堆中分配 A 并将其分配给静态引用 inst 引用? 它会在 高频堆

中创建一个静态实例

1 个答案:

答案 0 :(得分:0)

静态字段与任何静态字段一样,无论该类是静态还是静态。

静态类只是一种语言,可以确保所有成员都是静态的,仅此而已。在.NET中,静态类甚至不存在:静态类将被转换为具有私有实例构造函数的“普通”类。这样就无法构造该类的实例。

相关问题