首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >C#中的代码好奇心

C#中的代码好奇心
EN

Stack Overflow用户
提问于 2009-04-07 12:32:33
回答 5查看 293关注 0票数 1

我在查看YUI Compressor时,偶然发现了ECMA.NET项目中的这段代码(如果您感兴趣,请参阅续集文件)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
protected internal override int FindPrototypeId (string s)
    {
        int id;
        #region Generated PrototypeId Switch
    L0: {
            id = 0;
            string X = null;
            if (s.Length == 11) { X = "constructor"; id = Id_constructor; }
            if (X != null && X != s && !X.Equals (s))
                id = 0;
        }
    EL0:
        #endregion
        return id;
    }

我不知道L0:和EL0:在这里做什么,他们以前从来没有见过这个。对于谷歌来说,这个术语似乎也太初级了。

有人知道这件事吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-04-07 12:35:32

它们看起来像标签,可以用作goto目标。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/13940fs2.aspx

票数 9
EN

Stack Overflow用户

发布于 2009-04-07 12:36:22

在我看来,它们就像是标签。标签在本例中没有使用(因为它是生成的代码?),但可以用来跳转到另一个地方。您可以使用goto L0;跳过第一个标签。例如,下面的代码只写"Hello,World“,因为它跳过了中间的Write()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Console.Write("Hello, ");
goto Last;
Console.Write("Cruel ");
Last:
Console.WriteLine("World");
票数 5
EN

Stack Overflow用户

发布于 2009-04-07 12:36:28

这些是标签,如GOTO中的标签。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/727469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文