【发布时间】:2012-09-27 13:56:12
【问题描述】:
While True
Start:
Continue While
GoTo(Start)
End While
注意:我知道 GoTo 在此示例中永远无法到达。我只是想知道使用 GoTo (X) 和 (Exit / Continue) 语句之间是否有任何计算差异?我倾向于使用 GoTo 语句,即使 Continue 或 Exit 就足够了。这是不好的风格吗?我不经常在其他程序员的代码中看到 GoTo。
编辑:正如人们亲切地指出的那样,GoTo 不会在条件 while 循环上评估条件。这导致我问以下两段代码是否会编译成完全相同的 CLR 代码:
Dim x as Integer = 0
While x < 5
Continue
End While
和
Dim x As Integer = 0
JumpPoint:
If x < 5 Then
GoTo JumpPoint
End If
【问题讨论】:
-
“计算”是什么意思?
-
GoTo 通常被认为是不好的做法,因为它很容易导致代码难以遵循。
-
奇怪?这就是我喜欢 GoTo 的原因,因为我认为它更容易理解。至少如果你使用好的 LabelNames。
-
您为什么不使用该代码制作一个测试程序集并在其上运行 MSIL 反汇编程序以便您自己查看?这很容易做到,对于这样一个简单的示例,按照 MSIL 代码应该很容易。
-
因为我不知道有这样的东西存在!感谢您指出这一点,我现在就去看看。
标签: .net vb.net syntax coding-style continue