Wat is voor elk?
Voor elk is een Looping-commando. U moet deze verklaring gebruiken als u een reeks verklaringen moet herhalen voor elk item dat u in een verzameling heeft. U kunt het gebruiken om alle elementen in een verzameling of array te manipuleren.
In deze VB. Net tutorial, je zult leren,
- Wat is voor elk?
- Syntaxis van voor elk… Volgende
- Voorbeelden
- Genest voor lussen
- Afsluiten voor en doorgaan voor
Syntaxis van voor elk… Volgende
De voor elke instructie heeft de onderstaande syntaxis:
For Each item [ As data_type ] In group[ statement(s) ][ Continue For ][ statement(s) ][ Exit For ][ statement(s) ]Next [ item ]
Hier,
- Het item is de variabele die wordt gebruikt om alle items van de verzameling te herhalen. Het is vereist in de voor elke instructie, maar optioneel in de volgende instructie.
- Het data_type is het datatype van het element. Het is vereist als het item niet is aangegeven.
- De groep is de verzameling waarover uitspraken moeten worden herhaald. Het is verplicht.
- De instructie (s) is optioneel. Het geeft een of meer instructies aan die voor elk item in de groep moeten worden uitgevoerd.
- De Continue For brengt de besturing over naar het begin van de For Each-lus. Het is optioneel.
- De Exit For zal de besturing uit de For Each-lus overbrengen. Het is optioneel.
- De volgende markeert het einde van de For Each-lus. Het is verplicht.
Voorbeelden
Laten we demonstreren hoe u deze verklaring kunt gebruiken:
Stap 1) Begin met het maken van een nieuwe consoletoepassing.
Stap 2) Gebruik de volgende code:
Module Module1Sub Main()Dim myArray() As Integer = {10, 3, 12, 23, 9}Dim item As IntegerFor Each item In myArrayConsole.WriteLine(item)NextConsole.ReadKey()End SubEnd Module
Stap 3) Klik op de Start-knop in de bovenste balk om de code uit te voeren. U zou het volgende resultaat moeten krijgen:
Hier is een screenshot van de code:
Verklaring van de code:
- Een module maken met de naam Module1.
- Starten van de belangrijkste subprocedure.
- Een array maken met de naam myArray met een set van 4 gehele getallen.
- Een integervariabele maken met de naam item.
- De itemvariabele gebruiken om de items van de array met de naam myArray te herhalen.
- De items in de array afdrukken met de bovenstaande instructie op de console.
- Einde van de For Each-lus.
- Het consolevenster een tijdje pauzeren, wachtend tot een gebruiker actie onderneemt om het venster te sluiten.
- Einde van de belangrijkste subprocedure.
- Einde van de module.
Genest voor lussen
De For Each-lus kan worden genest. Dit gebeurt wanneer we een For Each-lus in een andere For Each-lus plaatsen. Laten we dit demonstreren aan de hand van een voorbeeld.
Stap 1) Maak een nieuwe consoletoepassing.
Stap 2) Gebruik de volgende code:
Module Module1Sub Main()Dim nums() As Integer = {12, 23, 35}Dim names() As String = {"Guru99", "alice", "antony"}For Each n As Integer In numsFor Each st As String In namesConsole.Write(n.ToString & st & " ")NextNextConsole.ReadKey()End SubEnd Module
Stap 3) Klik op de Start-knop in de bovenste balk om de code uit te voeren. Je zou de volgende output moeten krijgen:
Hier is een screenshot van de code:
Toelichting code:
- Een module maken met de naam Module1.
- Starten van de belangrijkste subprocedure.
- Een array met de naam nums maken met een reeks gehele getallen.
- Een array met namen maken met een reeks namen.
- Een variabele n maken en deze gebruiken om de items in de array met de naam nums te herhalen. Dit is de buitenste For Each-lus.
- Een variabele met de naam st maken en deze gebruiken om de items in de array met de naam namen te herhalen. Dit is de binnenste For Each-lus.
- De items uit de twee arrays combineren. Elk item in de nums-array wordt gecombineerd met elk item in de names-array. De ToString-functie helpt ons de getallen die uit de nums-array worden gelezen, om te zetten in strings. De "" helpt ons om na elke combinatie een spatie te creëren. De combinatie is bereikt met behulp van de & (ampersand).
- Einde van de binnenste For Each-lus.
- Einde van de buitenste For Each-lus.
- Pauzeer het consolevenster totdat de gebruiker actie onderneemt om het te sluiten.
- Einde van de hoofdsubprocedure.
- Einde van de module.
Afsluiten voor en doorgaan voor
Wanneer u het Exit For-statement gebruikt, verlaat de uitvoering het For Each
… De volgende lus en controle worden overgedragen naar de instructies die na de volgende instructie komen.Wanneer u de instructie Continue For gebruikt, wordt de controle overgedragen naar de volgende iteratie van uw lus. Laten we dit demonstreren aan de hand van een voorbeeld:
Stap 1) Begin met het maken van een nieuwe consoletoepassing.
Stap 2) Gebruik de volgende code:
Module Module1Sub Main()Dim nums() As Integer ={10, 12, 14, 17, 19, 23, 26, 31, 33, 37, 40, 48}For Each n As Integer In numsIf n>= 17 And n <= 25 ThenContinue ForEnd IfConsole.Write(n.ToString & " ")If n = 37 ThenExit ForEnd IfNextConsole.ReadKey()End SubEnd Module
Stap 3) Voer de code uit door op de Start-knop in de bovenste balk te klikken. U zou het volgende resultaat moeten krijgen:
Hier is een screenshot van de code:
Verklaring van de code:
- Een module maken met de naam module1.
- Starten van de belangrijkste subprocedure.
- Een array met de naam nums maken met een reeks gehele getallen.
- Door een variabele met de naam n te maken, gebruiken we deze om de elementen in de array nums te herhalen.
- Gebruik een If… Then-voorwaarde om de waarde van de variabele n te controleren. Als de waarde tussen 17 (inclusief 17) en 25 (inclusief 25) ligt, gaat de iteratie naar het volgende item in de array.
- Het overslaan van de bovenstaande waarden wordt hier gedaan. Dit is de instructie die nodig is om de skip uit te voeren. Dit betekent dat de For Each-lus niet wordt uitgevoerd voor de overgeslagen items.
- Beëindig de If-voorwaarde.
- Afdrukken van de waarden die zijn verkregen uit de array op de console. De ToString-functie helpt ons de waarden van getallen naar strings om te zetten. De "" zal wat ruimte creëren na elke afgedrukte waarde.
- De iteratievariabele n controleren op wanneer de waarde 37 is met behulp van een If… Then-voorwaarde.
- De For Each-lus verlaten als de bovenstaande voorwaarde waar is, dat wil zeggen, de waarde van n = 37. Dit betekent dat de iteratie van de array-items stopt.
- Einde van de bovenstaande If-voorwaarde.
- Einde van de For… Each-verklaring.
- Pauzeer het consolevenster totdat de gebruiker actie onderneemt om het te sluiten.
- Einde van de belangrijkste subprocedure.
- Einde van de module.
Overzicht
- De For Each-instructie wordt gebruikt om elk item in een verzameling of array te herhalen.
- Tijdens de ontwikkeling kunt u de For Each-instructie combineren met de Exit For- en Continue For-instructies om te bepalen hoe de iteratie wordt uitgevoerd.