0

これらの 2 つのケースで 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参照に割り当てますか? または、高周波ヒープ に静的インスタンスを作成しますか?

4

1 に答える 1

0

静的フィールドは、クラスが静的であるか静的であるかに関係なく、他の静的フィールドと同じです。

静的クラスは、すべてのメンバーが静的であることを保証するための単なる言語トリックであり、それ以上のものではありません。.NET では、静的クラスは存在しません。静的クラスは、プライベート インスタンス コンストラクターを使用して「通常の」クラスに変換されます。そうすれば、そのクラスのインスタンスを構築できません。

于 2013-04-25T06:47:38.240 に答える