私は閉じる、処分する、ファイナライズする、GC、Idisposableについて完全に混乱しています。ああ、それらの明確な説明を送っていただけませんか?
1442 次
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 に答える