VB.Net for hver…Next, Exit, Continue-setning

⚡ Smart oppsummering

VB.Net For Each er et toalettping en setning som gjentar en kodeblokk én gang for hvert element i en matrise eller samling, slik at du kan lese hvert element etter tur uten å måtte trackonge en indeks.

  • 🔁 Formål: Gjenta setninger én gang for hvert element i en samling eller array.
  • 🧩 Syntaks: Løkken går fra For Each … In til en matchende Next-setning.
  • 📚 samlinger: For Each iterererer en hvilken som helst IEnumerable-type, for eksempel arrays, List og Dictionary.
  • 🪆 Nesting: En For Hver inni en annen parer hvert ytre element med hvert indre element.
  • Flytkontroll: Avslutt For forlater løkken; Fortsett For hopper til neste element.
  • 🤖 AI-hjelp: GitHub Copilot og IntelliCode I Visual Studio 2026, fullfør For Each-løkker mens du skriver.

VB.Net for hver sløyfe

VB.Net for hver sløyfe

VB.Net For Each er et toalettping setning. Du bør bruke denne setningen når du trenger å gjenta et sett med setninger for hvert element du har i en samling. Du kan bruke den til å manipulere alle elementene i en samling eller matrise.

Syntaks for VB.Net for hver... Neste erklæring

Ocuco VB.Net For hver setning brukes syntaksen gitt nedenfor:

For Each item [ As data_type ] In group  
    [ statement(s) ]  
    [ Continue For ]  
    [ statement(s) ]  
    [ Exit For ]  
    [ statement(s) ]  
Next [ item ]

Her

  • Ocuco item er variabelen som skal brukes til å iterere over alle elementene i samlingen. Den er obligatorisk i For Each-setningen, men valgfri i Next-setningen.
  • Ocuco data_type er den data-type av elementet. Det er påkrevd hvis varen ikke var deklarert.
  • Ocuco group er samlingen som utsagn skal gjentas over. Det er påkrevd.
  • Ocuco statement(s) er valgfritt. Det angir enten én eller flere setninger som skal utføres for hvert element i gruppen.
  • Ocuco Continue For vil overføre kontrollen til begynnelsen av For Every loop. Det er valgfritt.
  • Ocuco Exit For vil overføre kontrollen ut av For Every loop. Det er valgfritt.
  • Ocuco Next markerer slutten av For Every-løkken. Det er påkrevd.

Slik bruker du for hver sløyfe i VB.Net

Følgende eksempel viser hvordan du bruker For Each-løkken i VB.Net.

Trinn 1) Opprett en ny konsollapplikasjon.

Trinn 2) Bruk følgende kode:

Module Module1
    Sub Main()
        Dim myArray() As Integer = {10, 3, 12, 23, 9}
        Dim item As Integer
        For Each item In myArray
            Console.WriteLine(item)
        Next
        Console.ReadKey()
    End Sub
End Module

Trinn 3) Klikk på Start-knappen i den øverste linjen for å kjøre koden. Du bør få følgende resultat:

VB.Net For Each loop eksempelutdata

Her er et skjermbilde av koden:

Eksempel på VB.Net For Each-løkkekode

Forklaring til Code:

  1. Opprette en modul kalt Module1.
  2. Starter hovedunderprosedyren.
  3. Opprette en matrise kalt myArray med et sett med 5 heltall.
  4. Opprette en heltallsvariabel kalt element.
  5. Bruke elementvariabelen til å iterere over elementene i arrayen kalt myArray.
  6. Skrive ut elementene som finnes i arrayet ved hjelp av setningen ovenfor på konsollen.
  7. Slutten av for hver løkke.
  8. Setter konsollvinduet på pause en stund mens du venter på at en bruker skal gjøre noe for å lukke vinduet.
  9. Slutt på hoveddelprosedyren.
  10. Slutt på modulen.

Nested For Loops i VB.Net

For Each-løkken kan nestes. Dette skjer når vi plasserer en For Each-løkke inni en annen For Each-løkke. La oss demonstrere dette ved hjelp av et eksempel.

Trinn 1) Opprett en ny konsollapplikasjon.

Trinn 2) Bruk følgende kode:

Module Module1
    Sub Main()
        Dim nums() As Integer = {12, 23, 35}
        Dim names() As String = {"Guru99", "alice", "antony"}
        For Each n As Integer In nums
            For Each st As String In names
                Console.Write(n.ToString & st & " ")
            Next
        Next
        Console.ReadKey()
    End Sub
End Module

Trinn 3) Klikk på Start-knappen fra den øverste linjen for å utføre koden. Du bør få følgende utgang:

VB.Net nestet For Each-løkker utgang

Her er et skjermbilde av koden:

Eksempel på kode for nestede VB.Net-løkker for For Each

Forklaring av kode:

  1. Opprette en modul kalt Module1.
  2. Starter hovedunderprosedyren.
  3. Opprette en matrise kalt tall med et sett med heltall.
  4. Opprette en matrise med navn med et sett med navn.
  5. Opprette en variabel n og bruke den til å iterere over elementene i matrisen kalt nums. Dette er den ytre for hver løkke.
  6. Opprette en variabel som heter st og bruke den til å iterere over elementene i arrayen med navn. Dette er den indre for hver løkke.
  7. Kombinere elementene fra de to matrisene. Hvert element i nums-matrisen vil bli kombinert med hvert element i nums-matrisen. ToString-funksjonen hjelper oss å konvertere tallene som leses fra nums-arrayen til strenger. " " hjelper oss å skape et rom etter hver kombinasjon. Kombinasjonen er oppnådd ved å bruke & (ampersand).
  8. Slutten av den indre For Hver løkke.
  9. Enden av den ytre For Hver løkke.
  10. Sett konsollvinduet på pause mens du venter på at brukeren skal gjøre noe for å lukke det.
  11. Slutt på hoveddelprosedyren.
  12. Slutt på modulen.

VB.Net Avslutt for og fortsett for uttalelse

Når du bruker Exit For-setningen, vil utførelsen forlate For Every … Next-løkken og kontrollen vil bli overført til setningene som kommer etter Next-setningen.

Når du bruker Continue For-setningen, vil kontrollen bli overført til neste iterasjon av loopen. La oss demonstrere dette ved å bruke et eksempel:

Trinn 1) Begynn med å lage en ny konsollapplikasjon.

Trinn 2) Bruk følgende kode:

Module Module1
    Sub Main()
        Dim nums() As Integer =
    {10, 12, 14, 17, 19, 23, 26, 31, 33, 37, 40, 48}
        For Each n As Integer In nums
            If n >= 17 And n <= 25 Then
                Continue For
            End If
            Console.Write(n.ToString & " ")
            If n = 37 Then
                Exit For
            End If
        Next
        Console.ReadKey()
    End Sub
End Module

Trinn 3) Kjør koden ved å klikke på Start-knappen fra topplinjen. Du bør få følgende resultat:

VB.Net Exit For og Continue For utdata

Her er et skjermbilde av koden:

VB.Net Exit For og Continue For kodeeksempel

Forklaring til Code:

  1. Opprette en modul kalt modul1.
  2. Starter hovedunderprosedyren.
  3. Opprette en matrise kalt tall med et sett med heltall.
  4. Ved å lage en variabel som heter n, bruker vi den til å iterere over elementene i array-numrene.
  5. Bruke en If…Then-betingelse for å sjekke verdien av variabelen n. Hvis verdien er mellom 17 (17 inkludert) og 25 (25 inkludert), vil iterasjonen hoppe til neste element i matrisen.
  6. Skipetping av verdiene ovenfor gjøres her. Dette er setningen som er nødvendig for å utføre hoppingen. Dette betyr at For Each-løkken ikke vil kjøre for elementene som hoppes over.
  7. Avslutt If-betingelsen.
  8. Skriver ut verdiene hentet fra matrisen på konsollen. ToString-funksjonen hjelper oss å konvertere verdiene fra tall til strenger. " " vil skape litt plass etter hver utskrevne verdi.
  9. Kontrollerer iterasjonsvariabelen n for når verdien er 37 ved å bruke en If…Then-betingelse.
  10. Gå ut av For Every-løkken når betingelsen ovenfor er sann, det vil si verdien av n=37. Dette betyr at iterasjonen på array-elementene vil stoppe.
  11. Slutten av ovenstående If-tilstand.
  12. Slutten av For ... Hver utsagn.
  13. Sett konsollvinduet på pause mens du venter på at brukeren skal gjøre noe for å lukke det.
  14. Slutt på hoveddelprosedyren.
  15. Slutt på modulen.

Spørsmål og svar

For Each har ingen indeks og er skrivebeskyttet. For Next bruker en numerisk teller, støtter Step-nøkkelordet og kan endre elementer etter posisjon.

Nei. For Each gir bare det gjeldende elementet, ikke dets posisjon. Når du trenger indeksen, bruk en For Next-løkke med en teller.

Nei. Løkkevariabelen er skrivebeskyttet, så du kan ikke legge til, fjerne eller tilordne elementer på nytt under iterering. Bruk en For Next-løkke i stedet.

Enhver IEnumerable-type, inkludert en matrise, Liste og Ordbok. For hver bruker telleren internt, slik at én syntaks leser dem alle.

Kroppen kjører aldri; kjøringen fortsetter etter Next. På en samling satt til Nothing, kaster For Each en NullReferenceException.

For arrayer kan For Next være marginalt raskere fordi For Each legger til enumerator-overhead. Gapet er ubetydelig, så foretrekk For Each av lesbarhet.

Ja. GitHub Copilot gjør en kommentar i vanlig engelsk om til en komplett For Each-blokk. RevVis den slik at samlingen og elementtypene samsvarer med dataene dine.

Ja. Visual Studio 2026 kobler Copilot med intelliCode for hellinjede, kontekstbevisste For Each-fullføringer mens du skriver.

Oppsummer dette innlegget med: