EndPoint:C#中的语法 - 这是什么?

Joh*_*0te 5 .net c# windows .net-3.5 winforms

我正在审查我最近加入的项目的一些代码,并在.NET 3.5C#Win Forms Application中找到了这个:

public void foo()
{
    //Normal code for function foo.

//This is at the end and it is left-indented just as I put it here.
EndPoint:
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

当我单击" EndPoint/Go To Definition"时,它显示"无法导航到端点",但整个项目非常小并且编译/运行没有错误,所以它不是缺少引用或任何东西.

什么是EndPoint,这个语法的名称是什么:{}?

Chr*_*air 5

它适用于goto.请参阅:http://msdn.microsoft.com/en-us/library/13940fs2%28VS.71%29.aspx

冒号的语法指定goto语句将控制转移到的标签.您可以在C#中使用它,但大多数开发人员都倾向于避免使用它.有时打破嵌套循环会很有用(这是我为"合法"用法提出的最佳选择)

以下是一些关于以下更有用的用法的精彩文章goto:http://weblogs.asp.net/stevewellens/archive/2009/06/01/why-goto-still-exists-in-c.aspx

编辑:只是评论你得到定义的错误,这是可以理解的.标签没有"定义"来源.也许"去定义" goto Endpoint;可能会跳到标签上,但我不确定 - 从未尝试过.如果你在那里的代码只有Endpoint:标签但没有goto Endpoint;任何地方,那么删除标签应该是安全的,因为(我假设)它是一个未使用的旧代码残余.