は良い方法ですが、関数の実行後に変数を設定しませんでしたか?C#の変数 - 関数の実行後に設定解除されていますか?
まあ、私はあまりメモリRAMを消費する必要が私のC#アプリケーション のための優れたパフォーマンスを必要とするのも可能
は良い方法ですが、関数の実行後に変数を設定しませんでしたか?C#の変数 - 関数の実行後に設定解除されていますか?
まあ、私はあまりメモリRAMを消費する必要が私のC#アプリケーション のための優れたパフォーマンスを必要とするのも可能
int型、char型、bool型、構造体などのビルトイン型の変数は、関数が返ってくるとすぐにメモリが解放されます。関数が実行を開始するときに作成され、関数が戻るときに解放されるデータ構造の一部です)。
参照型の変数は、ガベージコレクタによって不要になったときに自動的に解放されます。
関数が復帰したときにメモリが解放されず、プログラムに問題が発生する可能性は低いです。
別の回答が記載されているように、問題がどこにあるかについての堅い証拠がない限り最適化しないでください。
は、私は関数実行後に変数を設定解除、いい方法ありますか?
いいえ、それは時間の無駄です。遅さがわかるまでは最適化しないでください。
ソフトウェアで問題が発生している場合は、無料のプロファイラXTE Profilerがあります。これにより、コード内のメモリリークやボトルネックを見つけることができます。また、現在、Telerikは独自のメモリプロファイラをリリースしました。現在、無料で利用可能ですが、ベータ版です。
一般に、C#で心配する必要がある唯一の「管理」は、クラスがIDisposableを実装するオブジェクトを破棄することです。これは一般にusing blocksによって行われます。
しばらくして、unsubscribe from an eventに覚えておく必要があります。
それ以外の場合は、数万のオブジェクトを割り当ててメモリに保存しない限り、心配する必要はありません。ガベージコレクタを信頼してください。
他人から指摘されているように、あなたは心配する必要があります。 1. IDisposableオブジェクトの呼び出しを呼び出す。 2.ハンドラの登録を解除する(存在する場合)。
これ以外にも、メモリプロファイラによってアラームが発生しない限り、最適化について心配する必要はありません。