.NET/C#-使用';使用';陈述
假设我有这样一个方法:.NET/C#-使用';使用';陈述,c#,.net,using-statement,C#,.net,Using Statement,假设我有这样一个方法: public byte[] GetThoseBytes() { using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { ms.WriteByte(1); ms.WriteByte(2); return ms.ToArray(); } } 这仍然会处理“ms”对象吗?我有疑问,可能是因为在语句块完成之前返回了某些内容。 谢谢
public byte[] GetThoseBytes()
{
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
ms.WriteByte(1);
ms.WriteByte(2);
return ms.ToArray();
}
}
这仍然会处理“ms”对象吗?我有疑问,可能是因为在语句块完成之前返回了某些内容。
谢谢,
AJ.是,因此它会处理ms(如果您将ns设置为null,它甚至会执行null检查)。是
使用(x=e){s}
是{x=e;尝试{s}最后{x.Dispose();}}
是的,using语句背后的整个思想是它自动处理您“使用”的任何流/对象。做得很好。(忽略那篇文章中关于“CLR将代码转换为MSIL”的废话)和try主体内的返回。finally将在返回实际发生之前执行finally子句。@dthorpe:嗯,是的。哎呀:)