考虑以下几点
using (Entity e = new Entity())
{
goto: Mars
}我是不是漏水了?不是说我要做这种愚蠢的事,只是想知道。
发布于 2015-11-19 03:03:26
是,将调用Dispose。using转换为try/finally块,如下所示:
try
{
goto Mars;
Console.WriteLine("in try");
}
finally
{
Console.WriteLine("in finally");
}
Mars:
Console.WriteLine("in Mars");上面的输出将是:
in finally
in Mars您还可以通过创建自己的实现IDisposable的类来测试它,如下所示:
class MyDisposable : IDisposable
{
public void Dispose()
{
Console.WriteLine("Dispose called");
}
}然后:
using (MyDisposable myDisposable = new MyDisposable())
{
goto Mars;
}
Mars:
Console.WriteLine("in Mars");输出将为:
Dispose called
in Marshttps://stackoverflow.com/questions/33788180
复制相似问题