クロージャとキャプチャされた変数は、変数のスコープの基本原則の例外である。クロージャは境界づけられた変数を格納したオブジェクトを作り出す。これらの変数の生存期間は驚くほど長いことがある。
この挙動は、変数がメモリを消費しているだけである場合にはさほど気にする必要はないが、IDisposable
を実装するような高価なリソース(ファイル、DB接続等)である場合には注意が必要である。
クロージャとキャプチャされた変数は、変数のスコープの基本原則の例外である。クロージャは境界づけられた変数を格納したオブジェクトを作り出す。これらの変数の生存期間は驚くほど長いことがある。
この挙動は、変数がメモリを消費しているだけである場合にはさほど気にする必要はないが、IDisposable
を実装するような高価なリソース(ファイル、DB接続等)である場合には注意が必要である。