当前位置:  开发笔记 > 编程语言 > 正文

C#中的标签有什么用?

如何解决《C#中的标签有什么用?》经验,为你挑选了3个好方法。

标签和GOTOs被认为是不好的做法,据我所知,没有理由在C#中使用它.

C#中的标签有什么用?



1> JaredPar..:

标签和goto本身没有任何问题.问题是人们倾向于滥用它们确实会产生问题.

标签的典型用途

OperationStart:
  if ( !TrySomeOperation() ) {
    if ( MaybeFixOperation() ) { 
      goto OperationStart;
    }
  }

你需要做一些你无法触及infitite循环的断言,但是给出一套合理的保证,这段代码没有任何内在错误.


"这段代码没有任何内在错误"你的意思是除了它不是非常易读的事实?如果你用它写的:while(!TrySomeOperation()&& MaybeFixOperation()){}它会使你(可能是无限的)循环更加明显.
可读性是读者的眼​​睛.我跟着它很好.

2> James Curran..:

仅仅因为它们是一个声名狼借的做法,并不意味着应该关闭任何使用它们的可能性.虽然它们可能永远不会被要求,但它们偶尔也是最好的方式.



3> Ian Ringrose..:

当您实现一个小型有限状态机时,您可以为每个状态使用标签转到状态转换.这是植入有限状态机的标准方法之一,并且可以导致清晰的代码,前提是代码注释所指向的文档中的状态机图.

有时,问题域包含许多状态机(例如,电信协议通常由有限状态机定义),大多数情况下您通常不会看到有限状态机.

Gotos标签对于机器生成的代码也非常有用,如果你正在编写一个输出C#的简单编译器,你可能会很高兴.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有