当在using语句中使用内存流时,我需要调用Close吗?例如,这里需要ms.Close()吗?
using (MemoryStream ms = new MemoryStream(byteArray))
{
// stuff
ms.Close();
}
当在using语句中使用内存流时,我需要调用Close吗?例如,这里需要ms.Close()吗?
using (MemoryStream ms = new MemoryStream(byteArray))
{
// stuff
ms.Close();
}
using
的同时加上.Close()
也会导致代码分析警告"CA2202:不要多次处理对象"。更多信息请阅读此处的“原因”部分:http://msdn.microsoft.com/query/dev12.query?appId=Dev12IDEF1&l=EN-US&k=k(CA2202);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.0) - Adam Plocher.Close()
将调用.Dispose()
吗?
https://msdn.microsoft.com/zh-cn/library/system.io.stream.close(v=vs.110).aspx - Levi在使用内存流时,如果使用using语句,我需要调用close吗?
不需要。因为.Dispose()
方法会自动调用close
方法:
using (MemoryStream ms = new MemoryStream(byteArray))
{
// stuff
}
Dispose()
调用 Close()
,然后 Close()
又会调用 Dispose(true)
。 - sloth