私のコードでは、FileInfo/StreamWriterクラスのオブジェクトを作成する必要があります。 それは、二つの方法tryまたはtryの内部でクラスオブジェクトを宣言しますか?どちらがベストプラクティスです
FileInfo file = null;
try
{
// now instantiate the object
file = new FileInfo()
}
それとも
try
{
FileInfo file = null;
file = new FileInfo()
}
より良いですで行うことができますか? GCがオブジェクトを処分する方法に違いはありますか?
_scope_は、表示されている2つの例の違いです。それ以外のところは、どちらのアプローチをとっているのかということが曖昧です。 –
@Aominèスコープとは別に、GCがどのように処理するかの違いがあります。テクニカルSMEとのディスカッションがありましたが、try GCの内部で宣言されている場合は、try GCの実行後直ちにオブジェクトを収集します。一方、外部を定義すると、メソッド呼び出しが終了してもかなりの時間待つことになります。 私は彼と完全に同意していません。メソッドの実行が終了するとすぐに私が外に宣言すれば、それはGCによって収集されます。 –
それは違いはありません、GCは宣言によって混乱しないほどスマートです。背後にある[ここにある](https://stackoverflow.com/a/17131389/17034)。 –