这是Eric Lippert在这篇文章中的评论:
现在您已经知道了答案,您可以解决这个难题:给我写一个程序,其中有一个可到达的goto到达一个无法访问的标签. - Eric Lippert 7月17日7:17
我无法创建一个代码,该代码具有指向无法访问标签的可访问goto.这甚至可能吗?如果是的话,C#代码会是什么样子?
注意:我们不讨论'goto'是如何不好等等.这是一个理论练习.
Sam*_*ell 13
我的原始答案:
try
{
goto ILikeCheese;
}
finally
{
throw new InvalidOperationException("You only have cottage cheese.");
}
ILikeCheese:
Console.WriteLine("MMM. Cheese is yummy.");
Run Code Online (Sandbox Code Playgroud)
这里没有编译器警告.
bool jumping = false;
try
{
if (DateTime.Now < DateTime.MaxValue)
{
jumping = (Environment.NewLine != "\t");
goto ILikeCheese;
}
return;
}
finally
{
if (jumping)
throw new InvalidOperationException("You only have cottage cheese.");
}
ILikeCheese:
Console.WriteLine("MMM. Cheese is yummy.");
Run Code Online (Sandbox Code Playgroud)