Freigeben über


Verwalten von mehreren Objekten mithilfe von Auflistungen

Aktualisiert: November 2007

In dieser Lektion erfahren Sie, wie Sie mithilfe einer Auflistung verschiedene Gruppen von Objekten verwalten können.

In einer früheren Lektion haben Sie erfahren, wie Sie mit Arrays Gruppen von Variablen verwalten können. Obwohl Sie Objektgruppen mithilfe von Arrays verwalten können, bietet Visual Basic auch einen speziellen, als Auflistung bezeichneten Objekttyp, der zum Speichern und Abrufen von Gruppen gleicher Objekte verwendet werden kann.

Wie bei Arrays besitzt jedes Element eines Collection-Objekts einen Index, mit dem das betreffende Element identifiziert werden kann. Darüber hinaus enthält jedes Element des Collection-Objekts einen Schlüssel – einen String-Wert, der zur Identifizierung des Elements verwendet wird. Der Vorteil eines Schlüssels liegt darin, dass Sie sich nicht den Index des Elements merken müssen. Stattdessen können Sie mit einem sinnvollen Namen auf das Objekt verweisen.

Erstellen einer Auflistung

Auflistungen sind hilfreich, wenn mehrere Instanzen ein und derselben Klasse im Programm verwendet werden. Sehen Sie sich dazu beispielsweise die in der letzten Lektion erstellte Players-Klasse an. Wahrscheinlich benötigen Sie mehrere Players-Objekte, um eine Baseballmannschaft abzubilden.

Der erste Schritt beim Erstellen einer Auflistung besteht darin, eine Instanz des Collection-Objekts anzulegen, wie in der folgenden Deklaration gezeigt wird.

Dim baseballTeam As New Collection

Nachdem Sie das Collection-Objekt erstellt haben, können Sie mit der Add-Methode neue Elemente hinzufügen und mit der Remove-Methode vorhandene Elemente löschen. Beim Hinzufügen von Elementen geben Sie zunächst das Element an, das hinzugefügt werden soll, und anschließend den String-Wert, der als Schlüssel dienen soll.

baseballTeam.Add(playerObject, "Player's Name")

Beim Entfernen von Elementen müssen Sie lediglich den Schlüssel des Elements angeben, das entfernt werden soll.

baseballTeam.Remove("Player's Name")

In der folgenden Prozedur fügen Sie zwei neue Players-Objekte hinzu. Anschließend erstellen Sie eine team-Auflistung und fügen dort die Players-Objekte hinzu, wobei die Position-Eigenschaft den Schlüssel bilden soll.

Übung

So erstellen Sie eine Auflistung von Objekten

  1. Öffnen Sie das in der vorherigen Lektion erstellte Persons-Projekt. Wenn Sie das Projekt nicht gespeichert haben, müssen Sie zur vorherigen Lektion, Erstellen einer Klasse auf Basis einer vorhandenen Klasse: Verwenden der Vererbung, 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 Code aus.

  3. Fügen Sie im Code-Editor dem Deklarationsbereich (unterhalb der Deklaration von player2) folgenden Code hinzu.

    Dim player3 As New Persons.Players
    Dim player4 As New Persons.Players
    Dim team As New Collection
    
  4. Fügen Sie der Form1_Load-Ereignisprozedur den folgenden Code hinzu.

    With player3
        .FirstName = "Eduardo"
        .LastName = "Saavedra"
        .Number = 52
        .Position = "First Base"
    End With
    
    With player4
        .FirstName = "Karl"
        .LastName = "Jablonski"
        .Number = 22
        .Position = "Pitcher"
    End With
    
    team.Add(player1, player1.Position)
    team.Add(player2, player2.Position)
    team.Add(player3, player3.Position)
    team.Add(player4, player4.Position)
    
  5. Wählen Sie im Projektmappen-Explorer im Projekt PlayerTest den Knoten Form1.vb aus. Wählen Sie im Menü Ansicht die Option Designer aus.

  6. Ziehen Sie ein ComboBox-Steuerelement aus der Toolbox auf das Formular.

  7. Wählen Sie im Eigenschaftenfenster die Items-Eigenschaft aus, und klicken Sie auf die Schaltfläche ….

  8. Geben Sie im Zeichenfolgen-Editor folgenden Text ein, und klicken Sie dann auf OK.

    Catcher

    First Base

    Pitcher

    Shortstop

  9. Doppelklicken Sie auf das ComboBox-Steuerelement, um den Code-Editor zu öffnen, und geben Sie dann im ComboBox1_SelectedIndexChanged-Ereignishandler den folgenden Code ein.

    Dim SelectedPlayer As Persons.Players
    SelectedPlayer = team(ComboBox1.SelectedItem)
    MsgBox("Playing " & ComboBox1.SelectedItem & " is " & _
    SelectedPlayer.FullName & "!")
    
  10. Drücken Sie F5, um das Programm auszuführen. Wählen Sie in der Dropdownliste eine Position aus. Im Ergebnis wird ein Meldungsfeld mit dem für diese Position vorgesehenen Spieler angezeigt.

Nächste Schritte

In dieser Lektion haben Sie gelernt, wie Sie mithilfe eines Collection-Objekts Gruppen von Objekten verwalten können. Wenn Sie jetzt Ihr Wissen zu Auflistungen vertiefen möchten, finden Sie unter Genauere Betrachtung: Verwenden einer "For Each...Next"-Schleife in einer Auflistung weiterführende Informationen. Sie können aber auch zur nächsten Lektionsgruppe übergehen, deren Thema die Erstellung eigener Steuerelemente ist.

Nächste Lektion: Sichtbare Objekte: Erstellen des ersten Benutzersteuerelements

Siehe auch

Aufgaben

Genauere Betrachtung: Verwenden einer "For Each...Next"-Schleife in einer Auflistung

Genauere Betrachtung: Überschreiben von Membern

Erstellen einer Klasse auf Basis einer vorhandenen Klasse: Verwenden der Vererbung

Konzepte

Visual Basic-Auflistungsklasse

Weitere Ressourcen

Sichtbare Objekte: Erstellen des ersten Benutzersteuerelements