我不太确定goto在一个using区块内使用.
例如:
using(stream s = new stream("blah blah blah"));
{
//do some stuff here
if(someCondition) goto myLabel;
}
Run Code Online (Sandbox Code Playgroud)
现在,如果someCondition是,则代码执行将继续进行myLabel,但是,对象是否会被处置?
我在这个主题上看到了一些非常好的问题,但他们都在谈论不同的事情.
是.
但为什么不亲自尝试一下呢?
void Main()
{
using(new Test())
{
goto myLabel;
}
myLabel:
"End".Dump();
}
class Test:IDisposable
{
public void Dispose()
{
"Disposed".Dump();
}
}
Run Code Online (Sandbox Code Playgroud)
结果:
处置
结束
| 归档时间: |
|
| 查看次数: |
556 次 |
| 最近记录: |