[英].NET/C# - Disposing an object with the 'using' statement
假设我有这样的方法:
public byte[] GetThoseBytes()
{
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
ms.WriteByte(1);
ms.WriteByte(2);
return ms.ToArray();
}
}
这还会处理'ms'对象吗? 我有疑问, 可能是因为在语句块完成之前返回了一些东西。
谢谢,AJ。
是。 using (x = e) { s }
是{ x = e; try { s } finally { x.Dispose(); } }
{ x = e; try { s } finally { x.Dispose(); } }
是的, 使用创建一个try..finally块 ,所以它处理ms(甚至在你将ns设置为null的情况下进行空检查)。
是的,Using语句背后的整个想法是它自动处理你正在“使用”的任何流/对象。 做得很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.