如果你运行下面的代码,它实际上在每次调用goto后执行finally:
int i = 0;
Found:
i++;
try
{
throw new Exception();
}
catch (Exception)
{
goto Found;
}
finally
{
Console.Write("{0}\t", i);
}
Run Code Online (Sandbox Code Playgroud)
为什么?
这是Eric Lippert在这篇文章中的评论:
现在您已经知道了答案,您可以解决这个难题:给我写一个程序,其中有一个可到达的goto到达一个无法访问的标签. - Eric Lippert 7月17日7:17
我无法创建一个代码,该代码具有指向无法访问标签的可访问goto.这甚至可能吗?如果是的话,C#代码会是什么样子?
注意:我们不讨论'goto'是如何不好等等.这是一个理论练习.