Schleifenunterschied : Next und Next i ?

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von gugi-zone.net.

    In früheren VB-Versionen (und anderen Basic-Dialekten) war es früher eine Pflichtangabe, in der Next-Anweisung die Variable nochmal anzugeben, die in der For-Anweisung angegeben wurde. Diese Angabe ist seit einigen Versionen nicht mehr verpflichtend. Die automatische Einrückung des Quellcodes macht schnell klar, welches 'next' zu welcher For-Anweisung gehört.

    Aber wofür ist next i ?

    ...ist das abschließende Element einer For-Anweisung:

    VB.NET-Quellcode

    1. 'Entweder
    2. '********
    3. For each i in wasauchimmer
    4. 'bla
    5. Next i
    6. 'oder
    7. '****
    8. For i =1 to 4
    9. 'bla
    10. next i

    In beiden Fällen kann - wie gesagt - das 'i' bei der Next-Anweisung weggelassen werden. Die Wirkung ist diesselbe.
    Es gibt aber noch einen Effekt, wenn nämlich 2 verschachtelte For-Schleifen getauscht werden:

    VB.NET-Quellcode

    1. For i As Integer = 1 To 10
    2. For j As Integer = 1 To 10
    3. ' bla
    4. Next
    5. Next

    --> i und j in den For-Anweisungen tauschen

    VB.NET-Quellcode

    1. For j As Integer = 1 To 10
    2. For i As Integer = 1 To 10
    3. ' bla
    4. Next
    5. Next

    geht sofort.
    Wenn aber Next i und Next j da steht, gibt es folgenden Fehler:

    Quellcode

    1. Die Next-Steuervariable stimmt nicht mit der For-Schleifensteuerungsvariablen "j" überein.

    Also: Weglassen. :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:


    Also: Weglassen. :D

    Naja - wenn es z.B.: nur 1 For-Schleife ist kann man es ruhig weglassen. Aber wenn man mehrere For-Schleifen verschachtelt schauts da anders aus:

    VB.NET-Quellcode

    1. For i = 1 To 10
    2. For j = 1 To 10
    3. For x = 1 To 10
    4. For y = 1 To 10
    5. Next
    6. Next
    7. Next
    8. Next

    Aber wenn man das mit Next i usw. macht, kennt man sich schon viel besser aus:

    VB.NET-Quellcode

    1. For i = 1 To 10
    2. For j = 1 To 10
    3. For x = 1 To 10
    4. For y = 1 To 10
    5. Next y
    6. Next x
    7. Next j
    8. Next i


    Gruß