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 引用? 或 它会在 高频堆 ?
中创建一个静态实例答案 0 :(得分:0)
静态字段与任何静态字段一样,无论该类是静态还是静态。
静态类只是一种语言,可以确保所有成员都是静态的,仅此而已。在.NET中,静态类甚至不存在:静态类将被转换为具有私有实例构造函数的“普通”类。这样就无法构造该类的实例。