Objekt Collection

Sammlungen k├Ânnen verwendet werden, um Elemente verschiedener Typen zu speichern. Auf jedes Element kann ├╝ber seinen Index oder einen ihm zugeordneten optionalen Schl├╝ssel zugegriffen werden.

Ein Objekt Collection hat die folgenden Methoden:

note

Auf Elemente in einer Sammlung kann entweder ├╝ber ihre Indizes (wie in einer 1-basierten eindimensionalen Matrix) oder ├╝ber ihre zugeh├Ârigen Schl├╝ssel zugegriffen werden.


tip

Der ScriptForge-Dienst Dictionary erweitert das Objekt Collection um Bereitstellung zus├Ątzlicher Funktionen wie Schl├╝sselabruf und -ersetzung sowie Import/Export in Matrixobjekte und JSON-Zeichenfolgen.


Erstellen einer Sammlung

Verwenden Sie zum Erstellen von Collection das Schl├╝sselwort New. Das folgende Beispiel erstellt ein Objekt Collection und f├╝llt es mit drei Elementen:


    Dim myCollection as New Collection
    myCollection.Add("Some text")
    myCollection.Add(100)
    myCollection.Add(Array(1, 2, 3, 4))
    MsgBox myCollection.Count ' 3
  

Elemente hinzuf├╝gen

Die Methode Add kann verwendet werden, um neue Elemente zum Objekt Collection hinzuzuf├╝gen.

Syntax:

oCollection.Add(item, [key], [before|after])

Parameter:

item: das Element, das Collection hinzugef├╝gt werden soll. Kann von beliebiger Art sein.

key: Zeichenfolge, die als eindeutiger Schl├╝ssel verwendet wird, um diesen Wert zu identifizieren.

before, after: optionales Schl├╝sselwortargument, das angibt, wo das neue Element in Collection platziert wird. Nur eines der Argumente before oder after kann angegeben werden, um den Index oder Schl├╝ssel zu bestimmen, vor (oder nach) dem das neue Element platziert werden soll.

Beispiel:

Das folgende Beispiel f├╝gt zwei Elemente zu Collection hinzu. Dem ersten ist ein Schl├╝ssel zugeordnet, dem zweiten nicht.


    Dim myCollection as New Collection
    myCollection.Add(100, "first")
    myCollection.Add(101)
  

Die Methode Add unterst├╝tzt auch Schl├╝sselwortargumente:


    myCollection.Add(item := 100, key := "first")
  
warning

Schl├╝ssel m├╝ssen in einem Objekt Collection eindeutig sein. Der Vergleich zwischen Schl├╝sseln ist unabh├Ąngig von der Gro├č-/Kleinschreibung. Das Hinzuf├╝gen doppelter Schl├╝ssel f├╝hrt zu einem Laufzeitfehler.


Das folgende Beispiel veranschaulicht, wie die Schl├╝sselwortargumente Before und After verwendet werden, um die Position des hinzuzuf├╝genden Elements zu bestimmen.


    Dim myCollection as Variant
    myCollection = New Collection
    myCollection.Add(item := 101, key := "first")
    myCollection.Add(item := 103, key := "third")
    myCollection.Add(item := 105, key := "fifth")
    MsgBox myCollection.Item(2) ' 103
    myCollection.Add(item := 102, key := "second", before := "third")
    MsgBox myCollection.Item(2) ' 102
    myCollection.Add(item := 104, key := "fourth", after := 3)
    MsgBox myCollection.Item(4) ' 104
  
note

Elementen in einem Objekt Collection wird ein ganzzahliger Indexwert zugewiesen, der bei 1 beginnt und der Reihenfolge entspricht, in der sie hinzugef├╝gt wurden.


Auf Elemente zugreifen

Verwenden Sie die Methode Item, um auf ein bestimmtes Element ├╝ber seinen Index oder Schl├╝ssel zuzugreifen.

oCollection.Item(index)

oCollection.Item(key)

Parameter:

index: ein ganzzahliger Wert, der den Index des zur├╝ckzugebenden Elements angibt.

key: eine Zeichenfolge, die den Schl├╝ssel des zur├╝ckzugebenden Elements angibt.

Beispiel:


    Dim myCollection as New Collection
    myCollection.Add(item := 101, key := "A")
    myCollection.Add(item := 102, key := "B")
    myCollection.Add(item := 103, key := "C")
    MsgBox myCollection.Item("A") ' 101
    MsgBox myCollection.Item(3)   ' 103
  

Elemente entfernen

Verwenden Sie die Methode Remove, um Elemente aus einem Objekt Collection zu l├Âschen.

Syntax:

Elemente k├Ânnen entweder anhand ihrer Indizes oder ihrer Schl├╝sselwerte entfernt werden.

oCollection.Remove(index)

oCollection.Remove(key)

Parameter:

index: ein ganzzahliger Wert, der den Index des zu entfernenden Elements angibt.

key: eine Zeichenfolge, die den Schl├╝ssel des zu entfernenden Elements angibt.

Beispiel:


    Dim myCollection as New Collection
    myCollection.Add(item := 101, key := "first")
    myCollection.Add(item := 102, key := "second")
    myCollection.Add(item := 103, key := "third")
    MsgBox myCollection.Count ' 3
    ' Removes the  first value
    myCollection.Remove(1)
    ' Removes the value whose key is "third"
    myCollection.Remove("third")
    MsgBox myCollection.Count ' 1
  

Iteration ├╝ber alle Elemente

Es ist m├Âglich, eine Anweisung For Each ÔÇŽ Next zu verwenden, um alle Elemente in Collection zu durchlaufen.


    Dim myCollection as New Collection
    myCollection.Add(item := 101, key := "A")
    myCollection.Add(item := 102, key := "B")
    myCollection.Add(item := 103, key := "C")
    For Each value In myCollection
        MsgBox value
    Next value
  

L├Âschen einer "Collection"

Um alle Elemente aus einem Objekt Collection zu entfernen, rufen Sie die Methode Remove f├╝r jedes Element auf, wie im folgenden Beispiel dargestellt:


    ' Erstellt eine "Collection" mit zwei Eintr├Ągen
    Dim myCollection as New Collection
    myCollection.Add(item := 10, key := "A")
    myCollection.Add(item := 11, key := "B")
    MsgBox myCollection.Count ' 2
    ' Entfernt alle Elemente aus "Collection"
    For i = myCollection.Count To 1 Step -1
    	myCollection.Remove(i)
    Next i
    MsgBox myCollection.Count ' 0
  

Bitte unterst├╝tzen Sie uns!