0

コンストラクターを介してオブジェクト C を取り込むオブジェクト B があります。ここで、C は A のコンストラクター内で作成され、フィールド/メンバー変数として設定されます。AI 内で B の複数のインスタンスを作成し、それらを List に挿入します。後で私はこのリストをクリアします.....私の質問は、CがまだAで生きていて、Aがもちろん生きているので、メモリリークがあるかどうかです。

ありがとう

4

1 に答える 1

4

C# には自動ガベージ コレクションがあるため、フレームワークはオブジェクトの 1 つが使用されなくなったことを検出し、未使用のオブジェクトのメモリを解放します。

B のリストをクリアするときにオブジェクト C も割り当て解除されるかどうかを尋ねている場合、A のプロパティ (フィールド) を介してオブジェクトへの参照がまだあるため、そうはならないでしょう。

于 2013-03-09T10:33:57.457 に答える