Freigeben über


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

  1. Ö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.

  2. 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.

  3. Wählen Sie das ComboBox-Steuerelement aus. Wählen Sie dann im Eigenschaftenfenster die Items-Eigenschaft aus, und klicken Sie auf die Schaltfläche ....

  4. Löschen Sie im Zeichenfolgen-Editor die vier vorhandenen Einträge, und klicken Sie dann auf OK.

  5. Doppelklicken Sie auf das Formular, um den Code-Editor zu öffnen.

  6. 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
    
  7. 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)

Weitere Ressourcen

Programmieren mit Objekten: Verwenden von Klassen