Genauere Betrachtung: Verwenden einer "For Each...Next"-Schleife in einer Auflistung
Aktualisiert: November 2007
In dieser Lektion lernen Sie, wie Sie mithilfe einer For Each...Next-Schleife eine Auflistung durchlaufen.
In einer früheren Lektion haben Sie erfahren, wie Sie mithilfe einer For...Next-Schleife einen Codeblock so oft wie angegeben ausführen. Die Visual Basic-Auflistungsobjekte unterstützen einen bestimmten Schleifentyp, die For Each...Next-Schleife, die Sie für die Ausführung eines Codeblocks für jedes Element in der Auflistung verwenden können, anstatt die Anzahl der Ausführungen explizit festzulegen.
Hinzufügen einer "For Each...Next"-Schleife
In der vorherigen Lektion haben Sie dem ComboBox-Steuerelement die Werte für die Position-Eigenschaft der Players-Objekte in der Team-Auflistung manuell hinzugefügt. Auch wenn dies im Beispiel funktionierte, ist diese Vorgehensweise nicht optimal. Bei jedem Hinzufügen eines neuen Spielers müssten Sie auch die Items-Auflistung des ComboBox-Steuerelements aktualisieren.
Eine bessere Methode wäre, der Items-Auflistung die Position-Werte hinzuzufügen, indem mithilfe einer For Each...Next-Schleife die team-Auflistung durchlaufen wird.
In einer For...Next-Schleife müssen Sie zuerst eine Zählervariable deklarieren; bei einer For Each...Next-Schleife deklarieren Sie zuerst eine Objektvariable. Der folgende Code veranschaulicht eine For Each...Next-Schleife.
Dim player As Persons.Players
For Each player In team
ComboBox1.Items.Add(player.Position)
Next
Im vorliegenden Fall ist es irrelevant, wie viele Players vorhanden sind. Die ComboBox1.Items.Add-Methode wird einmal für jedes Players-Objekt in der Team-Auflistung ausgeführt, und der Position-Wert wird der Liste hinzugefügt.
Übung
So durchlaufen Sie eine Auflistung
Öffnen Sie das Persons-Projekt aus der vorherigen Lektion. Wenn Sie das Projekt nicht beendet haben, müssen Sie zur vorherigen Lektion Verwalten von mehreren Objekten mithilfe von Auflistungen zurückkehren und die Prozeduren abschließen.
Wählen Sie im Projektmappen-Explorer im Projekt PlayerTest den Knoten Form1.vb aus. Wählen Sie anschließend im Menü Ansicht die Option Designer aus.
Wählen Sie das ComboBox-Steuerelement aus. Wählen Sie dann im Eigenschaftenfenster die Items-Eigenschaft aus, und klicken Sie auf die Schaltfläche ....
Löschen Sie im Zeichenfolgen-Editor die vier vorhandenen Einträge, und klicken Sie dann auf OK.
Doppelklicken Sie auf das Formular, um den Code-Editor zu öffnen.
Fügen Sie im Code-Editor dem Deklarationsbereich (unterhalb der Deklaration von team) folgenden Code hinzu.
Dim player As Persons.Players For Each player In team ComboBox1.Items.Add(player.Position) Next
Drücken Sie F5, um das Programm auszuführen. Wählen Sie in der Dropdownliste eine Position aus. Der Spieler für diese Position wird in einem Meldungsfeld angezeigt.
Nächste Schritte
In dieser Lektion haben Sie eine For Each...Next-Schleife in einer Auflistung verwendet. In den folgenden Lektionen erstellen Sie einen anderen Objekttyp: ein Benutzersteuerelement.
Nächste Lektion: Sichtbare Objekte: Erstellen des ersten Benutzersteuerelements
Siehe auch
Aufgaben
Verwalten von mehreren Objekten mithilfe von Auflistungen
Referenz
For Each...Next-Anweisung (Visual Basic)