VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • GoTo 语句

无条件地跳转到过程内的指定行。

GoTo line

部分

  • line
    必选。 任何行标签。

备注

GoTo 语句只能跳转到它所在过程内的行。 该行必须有 GoTo 可以引用的行标签。 有关更多信息,请参见 如何:标记语句 (Visual Basic)。

 提示

GoTo 语句使代码的阅读和维护变得更加困难。 应该尽可能使用控制结构。 有关更多信息,请参见 控制流 (Visual Basic)。

不能使用 GoTo 语句从 For...Next、For Each...Next、SyncLock...End SyncLock、Try...Catch...Finally、With...End With 或 Using...End Using 构造外部分支到构造内部的标签。

分支与 Try 构造

在 Try...Catch...Finally 构造中,下列规则适用于通过 GoTo 语句执行的分支。

块或区域

从外向内分支

从内向外分支

Try 块

只能从同一个构造 1 的 Catch 块分支

只能跳转到整个构造外部

Catch 块

不允许

只能跳转到整个构造外部,或跳转到同一个构造 1 的 Try 块

Finally 块

不允许

不允许

1 如果一个 Try...Catch...Finally 构造嵌套在另一个构造中,则 Catch 块可以分支到它自己的嵌套级别上的 Try 块中,但不能分支到任何其他 Try 块中。 嵌套的 Try...Catch...Finally 构造必须完全包含在其所嵌入构造的 Try 或 Catch 块中。

下图显示一个 Try 构造,它嵌套在另一个 Try 构造中。 这两个构造的块之间的各种不同分支被标示为有效或无效。

Try 构造中的有效和无效分支

Try 结构分支示意图

示例

下面的示例使用 GoTo 语句跳转到过程内的行标签。

VB
    Sub gotoStatementDemo()
        Dim number As Integer = 1
        Dim sampleString As String
        ' Evaluate number and branch to appropriate label.
        If number = 1 Then GoTo Line1 Else GoTo Line2
Line1:
        sampleString = "Number equals 1"
        GoTo LastLine
Line2:
        ' The following statement never gets executed because number = 1.
        sampleString = "Number equals 2"
LastLine:
        ' Write "Number equals 1" in the Debug window.
        Debug.WriteLine(sampleString)
    End Sub

 

原文链接:https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2010/69whc95c(v=vs.100)


相关教程