homeboekenlinksledenabonneer je :Blijf op de hoogte door je te abonneren op de vbvoorbeelden RSS Niews Feed!Blijf op de hoogte door vbvoorbeelden te volgen op Twitter!Blijf op de hoogte door fan te worden van vbvoorbeelden op Facebook!
Visual Basic 2008 en 2010 Voorbeelden en Boeken Microsoft Visual Studio 2010Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

visual basic 2008 voorbeelden en boeken / visual basic 2010 voorbeelden en boeken

7.10. For Each Next

Print Email Deel op FacebookDeel op TwitterDeel op DiggBookmark op Google BookmarksDeel op del.icio.usOverige Sociale Netwerksites...

Dit artikel is gepubliceerd op woensdag 28 april 2010 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

Een nieuwe iteratiestructuur is bruikbaar voor het benaderen van de elementen van een array : de For Each ... Next iteratiestructuur is bruikbaar om met elk element in de array een bepaalde actie uit te voeren.

De syntax van deze iteratie structuur is de volgende :
For Each <element> In <collection>
   <body-iteration>
Next
Alle elementen worden hier één voor één mee overlopen en de body van de lus zal hier dus voor elk element worden uitgevoerd. De elementvariabele die gebruikt wordt dient gedeclareerd te zijn van hetzelfde datatype als het datatype van de elementen van de array die men overloopt.
In onderstaand voorbeeld gaat het om arrays met elementen van het datatype Integer dus moet de elementvariabele ook van het type Integer gedeclareerd zijn (1).

Men verwijst hier in de In clausule naar de array door simpelweg de identifier van deze arrayvariabele te gebruiken. Hier dus row, matrix of cube :
Visual Basic Broncode
Module Example1
    Sub Main()
        Dim element As Integer                                             ' (1)
        '
        Dim row() As Integer = {1, 2, 3, 4, 5, 6}
        For Each element In row
            Console.Write(element & " ")
        Next
        Console.WriteLine()
        '
        Dim matrix(,) As Integer = {{1, 2, 3, 4, 5, 6}, {7, 8, 9, 10, 11, 12}}
        For Each element In matrix
            Console.Write(element & " ")
        Next
        Console.WriteLine()
        '
        Dim cube(,,) As Integer = {{{1, 2, 3}, {4, 5, 6}}, _
                                   {{7, 8, 9}, {10, 11, 12}}, _
                                   {{13, 14, 15}, {16, 17, 18}}, _
                                   {{19, 20, 21}, {22, 23, 24}}}
        For Each element In cube
            Console.Write(element & " ")
        Next

        Console.ReadLine()
    End Sub
End Module
Visual Basic Output
1 2 3 4 5 6
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Zoals je merkt worden bij meer dimensionale arrays de elementen in een For Each ... Next iteratiestructuur op dezelfde wijze overlopen als ze in het geheugen zitten gestockeerd.

Een beperking met deze For Each ... Next iteratiestructuur is dat je de elementen via de elementexpressie enkel ( nuttig ) kan gebruiken om uit te lezen.
Visual Basic Broncode
Module Example2
    Sub Main()
        Dim numbers As Integer() = {1, 2, 3, 4, 5}
        '
        Dim element As Integer
        For Each element In numbers
            Console.Write(element & " ")
        Next
        Console.WriteLine()
        '
        Dim sum As Integer
        For Each element In numbers
            sum += element
            element = 10                                                   ' (1)
        Next
        Console.WriteLine("sum : " & sum)
        '
        For Each element In numbers
            Console.Write(element & " ")
        Next
        '
        Console.ReadLine()
    End Sub
End Module
Visual Basic Output
1 2 3 4 5
sum : 15
1 2 3 4 5
Regel (1) is nutteloos gezien er per uitvoering van de body van de lus een kopie van de inhoud van steeds een volgend element uit de array zal worden toegekend aan de element variabele. Men past dus zo wel de inhoud van de elementvariabele aan, of men overschrijft dus die toegekende waarde, maar men past zo niet de inhoud van het element van de array zelf aan.

Dit artikel is gepubliceerd op woensdag 28 april 2010 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

Visual Basic 2008 & 2010 Boeken

Het Groene Visual Basic 2008 & 2010 Voorbeelden Boek Het Blauwe Visual Basic 2008 & 2010 Voorbeelden Boek Het Rode Visual Basic 2008 & 2010 Voorbeelden Boek

Bevalt een artikel je, dan kan je de inhoud van vbvoorbeelden ook reclamevrij in boekvorm verkrijgen.

De inhoud is verdeeld over 3 boeken, Het Groene, Het Blauwe en Het Rode Visual Basic 2008 & 2010 Voorbeelden Boek.

Klik hier voor meer informatie.

Berichten

Fast UML Sequence Diagram Editor