4

C# の次のクラスを検討してください。

class A
{
    public B b;
}

class B
{
    public A a;
}

後で:

{
    A a = new A();
    B b = new B();
    a.b = b;
    b.a = a;
}

質問: 実行がこのスコープから外れると、いずれかのインスタンスがガベージ コレクションされますか?

4

2 に答える 2

4

はい、どちらもそうします。GC は依存関係ツリーをたどり、プログラムの他の部分からはどちらにも到達できないことを確認し、それらを適切に破棄します。

これは優れた MSFT の記事です: http://msdn.microsoft.com/en-us/magazine/bb985010.aspx

于 2013-06-25T00:04:27.047 に答える
1

はい、ガベージコレクションされます。 循環参照はメモリリークを引き起こしますか?

于 2013-06-25T00:04:05.653 に答える