Eine For Each...Next-Anweisung durchläuft die in einer Liste angegebenen Elemente.
Eine For Each-Anweisung legt Folgendes fest:
Die folgende Syntax wird für For Each...Next-Anweisungen verwendet.
For Each <LoopControlVariable> In <expression> [statements] Next [expression]
Eine Kennung gibt die Schleifensteuerungsvariable an. Der Aufzählungsausdruck muss eine Listen- oder Aufzählungsfunktion auswerten (siehe TreeIterator weiter unten). Die Schleifensteuerungsvariable muss einen Typ aufweisen, der mit den Elementen in der Liste kompatibel ist. Verschachtelte For Each...Next-Anweisungen müssen jeweils eigene Schleifensteuerungsvariablen verwenden.
Der Aufzählungsausdruck wird vor Beginn der Schleife ausgewertet. Am Anfang jeder Iteration wird das nächste Element in der Liste der Schleifensteuerungsvariablen zugewiesen. Wenn alle Elemente in der Liste ausgewertet wurden, wird die Schleife beendet; andernfalls wird der Anweisungsblock ausgeführt.
Das Beispiel weiter unten zeigt eine typische For Each...Next-Schleife.
Rule total As Integer Dim counter As Integer = 0 Dim numList As list = {0, 2, 4, 6, 8, 10} For Each counter in numList total = total + counter printValue("Total = " + stringValue(total) + _ " Counter = " + stringValue(counter)) Next End Rule Output: "Total = 0 Counter = 0" "Total = 2 Counter = 2" "Total = 6 Counter = 4" "Total = 12 Counter = 6" "Total = 20 Counter = 8" "Total = 30 Counter = 10"
Sie können eine For Each...Next-Schleife mithilfe einer Exit For-Anweisung im Textkörper der Schleife ausführen.