繁体   English   中英

.NET / C# - 使用'using'语句处理对象

[英].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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM