Effective C# 3rd 読書メモ 11 .NETのリソース管理を理解する

.NETにおいては、実行環境(CLR: Common Language Runtime)のメモリ管理とGCを理解することが重要である。

C++とC#の大きな違いの一つは、ファイナライザの挙動の違いである。
C++とは異なり、C#ではファイナライザがいつ実行されるかはわからない。
また、ファイナライザの使用にはパフォーマンス上の悪影響もある。

リソースの破棄を実行したい場合は、ファイナライザではなくIDisposableインターフェイスを使うべきである。

参考: Fundamentals of Garbage Collection

コメントを残す