Usingステートメントでメモリストリームを使用する場合、closeを呼び出す必要がありますか?たとえば、ms.Close()はここで必要ですか?
using (MemoryStream ms = new MemoryStream(byteArray))
{
// stuff
ms.Close();
}
いいえ、ちがいます。
using
は、 Dispose()
が呼び出されることを保証し、これはClose()
メソッドを呼び出します。
using
ステートメントによってすべての種類のストリームが閉じられていると想定できます。
[〜#〜] msdn [〜#〜] から:
StreamWriterなど、アンマネージリソースにアクセスするオブジェクトを使用する場合、usingステートメントを使用してインスタンスを作成することをお勧めします。 usingステートメントは、ストリームを自動的に閉じ、使用しているコードが完了するとオブジェクトに対してDisposeを呼び出します。
Usingステートメントでメモリストリームを使用する場合、closeを呼び出す必要がありますか?
いいえ、必要ありません。自動的に呼び出される.Dispose()
メソッドによって呼び出されます:
using (MemoryStream ms = new MemoryStream(byteArray))
{
// stuff
}