1

私は閉じる、処分する、ファイナライズする、GC、Idisposableについて完全に混乱しています。ああ、それらの明確な説明を送っていただけませんか?

4

1 に答える 1

5

それはかなり大きなトピックです。Richter著のCLR via C#という本をお勧めします。あなたが言及したすべての問題について詳しく説明します。

非常に簡単な翻訳:

  • 使い捨て型では、Close は多くの場合 Dispose と同じです。
  • Dispose は、ガベージ コレクションによって処理されないリソースの確定的なクリーンアップを可能にするために使用されます。
  • Finalizer (または C# 言語仕様ではデストラクタと呼ばれます) は、ある時点でガベージ コレクション コードによって呼び出されるクリーンアップ メソッドです。つまり、C++ のデストラクタとは異なり、これは明確に定義された時点では実行されません。
  • GC はガベージ コレクションの略で、マネージ ヒープにあるオブジェクトの .NET の自動クリーンアップを指します。
  • IDisposable はインターフェイスであり、問​​題の型が上記の Dispose メソッドを実装していることを示します。

詳しくは本を参照してください。Joe Duffy によるこのやや精巧なブログ エントリも、IDisposable とファイナライザーを理解するのに非常に役立ちます。

于 2009-07-29T09:06:48.813 に答える