.Net MemoryStream オブジェクト インスタンスの場合、使用後に明示的に閉じる必要がありますか? それとも閉める必要ない?ベストプラクティスはどれですか?
VSTS2008 + .Net 3.5 + C# を使用しています。
.Net MemoryStream オブジェクト インスタンスの場合、使用後に明示的に閉じる必要がありますか? それとも閉める必要ない?ベストプラクティスはどれですか?
VSTS2008 + .Net 3.5 + C# を使用しています。
さらに良いのは、使用することですUsing
using (MemoryStream ms = /*get it using your favorite ctor*/)
{
// use it here
// and now flush and copy to a file stream (for example)
ws.Flush();
byte[] buffer = ws.ToArray();
using (Stream stream = new FileStream("fileName", FileMode.Create))
stream.Write(buffer, 0, buffer.Length);
}
少し思い出してください - 最後に別のストリームにすべてを書き込む予定がある場合は、忘れないでくださいFlush()
(そして便座を上げたままにしないでください)。
ミリ秒前後の StreamWriter を使用して、テキスト データをメモリに書き込み、最後にすべてを一度にディスクに書き込みます。(必要に応じて、ここの例をこのケースに変更することもできます)
使い終わったら閉じる必要があります。ベスト プラクティスは、try-catch-finally ブロックの finally セクションでストリームを閉じることです。ここで詳細情報を入手できます:
http://msdn.microsoft.com/en-us/library/system.io.memorystream.aspx