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

问题描述 投票:0回答:1

这两种情况下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引用? 或者 它将在高频堆

中创建一个静态实例
c# memory-management static compact-framework instance
1个回答
0
投票

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

静态类只是 C# 的一个技巧,用于确保所有成员都是静态的,仅此而已。在 .NET 中,静态类甚至不存在:C# 静态类将被转换为具有私有实例构造函数的 .NET 实例类。这样就无法构造该类的实例。

© www.soinside.com 2019 - 2024. All rights reserved.