C#的using字段使用后,可以自动调用dispose来对资源进行释放,现在有一点点疑惑,如果我在using里面调用了return,还会释放吗?
这里写一个测试程序试一下:
class Program
{
static void Main(string[] args)
{
B bb = new B();
bb.tt();
Console.ReadKey();
}
}
class B
{
public void tt()
{
using (A a = new A())
{
Console.WriteLine("first do......");
return;
}
}
}
class A :IDisposable
{
public void Dispose()
{
Console.WriteLine("enter dispose");
}
}
输出如下:
通过实验,得出结论:
在using里面使用return 之后,还是可以释放对象的。