|
> やはり自分でクローズやdisposeなどしたほうがパフォーマンス的にはいいのでしょうか? > たとえばオブジェクトを生成して閉じなくても解放してくれるということですが
<Dispose等の解放のメソッドが存在しないオブジェクトの場合> マネージリソースしか扱わないオブジェクトは解放する必要がありません。 というよりも、ガベージコレクションが行われるまでは解放する方法がありません。
<Dispose等の解放のメソッドが存在しているオブジェクトの場合> 例えば、FileStream等はDisposeしなかった場合、しばらくファイルを開きっぱなしになります。 それだと、他のアプリケーションから開くことができなかったりする等の不利益が生じるため、Disposeメソッドを呼び出して明示的に解放する必要があります。
> C#にまかすということは適当なタイミングということでしょうか? 「適当」が「いい加減」という言葉に近い意味であるならばそうです。 (適当という言葉は2つの意味を持つから難儀) 基本的にDisposeを持つメソッドはDisposeしてあげるべきです。
|