2011-10-19 9 views
3

hereのように、Nothingにオブジェクトを割り当てるのはVB.NETでも役に立ちますか?またはガベージコレクションが改善されても、これはもはや役立たず/必要ではなくなりましたか?Visual Basicのガベージコレクション

+1

が重複する可能性を保っています参照?](http://stackoverflow.com/questions/1587245/c-in-what-c​​ases-should-you-null-out-references) – xanatos

答えて

1

他にも述べたように、ほとんどの場合は必要ありません。

オブジェクトを使用して行うと(それが他の多くが含まれている非常に大きな実体だから、例えば)、できるだけ早くそのメモリを主張したい場合、それは使い捨てパターンを実装し、Usingディレクティブを経由して、それを使用しますが。あなたが出てヌルべきかのケースでは:

あなたの大切な物は任意の管理対象外のリソースを参照しないで特定のケースでは、これはメモリリークを固定されていない、それはの[C#のあなたのメモリフットプリントの小さな

1

いいえ、VB.NETでは役に立ちません。 IIRCでは、変数が動的に作成されたCOMオブジェクト(たとえば、Office Interopを実行している場合など)を指している場合にのみ、これを行う必要があります。

1

あなたは正しいです、それはもはや少数のコーナーケースを除いて必要ありませんです:

  • コメントを参照してください、細かい作品 (参照はAオブジェクトBをオブジェクトの参照オブジェクト)循環参照を解消するために。
  • VBScriptを使用している場合。これらのオブジェクトをNothingに設定します。
+0

実際にガベージコレクタは循環参照でうまく動作します – MarkJ