GoTo utasítás

Feltétel nélkül elágazik egy adott sorhoz egy eljárásban.

Syntax

GoTo line  

Része

line
Szükséges. Bármilyen vonalcímke.

Megjegyzések

Az GoTo utasítás csak az eljárás azon soraira ágazhat el, amelyben megjelenik. A vonalnak olyan vonalcímkével kell rendelkeznie, amelyre GoTo hivatkozni lehet. További információ : Útmutató: Felirati utasítások.

Feljegyzés

GoTo az utasítások megnehezíthetik a kód olvasását és karbantartását. Amikor csak lehetséges, használjon inkább vezérlőstruktúrát. További információ: Control Flow.

Nem használhat utasítást GoTo a ..., ...Next, For Each...End SyncLockNext, SyncLock... kívülről Fortörténő elágaztatáshoz. TryCatch...Finally, With...End Withvagy Using...End Using egy címkére építkeznek.

Elágaztatás és konstrukciók kipróbálása

TryEgy ...Catch...Finally az elágaztatásra az alábbi szabályok vonatkoznak a GoTo nyilatkozattal.

Blokk vagy régió Elágaztatás kívülről Elágazás belülről
Try blokk Csak ugyanahhoz az építményhez tartozó blokkból Catch 1 Csak a teljes építkezésen kívülre
Catch blokk Soha nem engedélyezett Csak az egész építményen kívülre, vagy ugyanannak az építménynek a Try blokkjára 1
Finally blokk Soha nem engedélyezett Soha nem engedélyezett

1 Ha egy Try...Catch...Finally az építés egy másikba van ágyazva, a Catch blokk a saját beágyazási szintjén ágazhat a Try blokkba, más blokkba Try azonban nem. TryBeágyazott ...Catch...Finally az építést teljes egészében Try annak az építménynek vagy Catch blokknak a részén kell tárolni, amelyben beágyazva van.

Az alábbi ábrán az egyik Try építmény egymásba ágyazva látható. A két építmény blokkjai között különböző ágak érvényesek vagy érvénytelenek.

Graphic diagram of branching in Try constructions

Példa

Az alábbi példa az GoTo utasítással elágaztatást alkalmaz egy eljárás címkéinek sorba állításához.

    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

Lásd még