在using语句中使用内存流时,是否需要调用close?例如,这里需要ms.Close()吗?
using (MemoryStream ms = new MemoryStream(byteArray))
{
// stuff
ms.Close();
}
答案 0 :(得分:55)
不,不是。
using
确保调用Dispose()
,然后调用Close()
方法。
您可以假设所有类型的流都被using
语句关闭。
来自MSDN:
当您使用访问非托管资源的对象(例如StreamWriter)时,一个好的做法是使用using语句创建实例。 using语句会自动关闭流,并在使用它的代码完成后调用对象上的Dispose 。
答案 1 :(得分:7)
在using语句中使用内存流时,是否需要调用close?
不,你不需要。它将由.Dispose()
方法调用,该方法自动调用:
using (MemoryStream ms = new MemoryStream(byteArray))
{
// stuff
}