Predmet Collection

Predmete Collection (angl. zbirka) lahko uporabljamo za shranjevanje elementov različnih vrst. Do vsakega elementa lahko dostopamo z njegovim indeksom ali z neobveznim ključem, povezanim z njim.

Predmet Collection ima naslednje metode:

note

Do elementov v predmetu Collection lahko dostopate z njihovimi indeksi (kot v enodimenzionalnem polju na osnovi števila 1) ali prek z njimi povezanih ključev.


tip

Storitev ScriptForge Dictionary razširja predmet Collection z zagotavljanjem dopolnilnih funkcij, kot so pridobivanje in zamenjava ključev ter uvoz in izvoz v predmete Array in nize JSON.


Ustvarjanje predmeta Collection

Predmet Collection ustvarite z uporabo ključne besede New. Naslednji primer ustvari predmet Collection in ga napolni s tremi elementi:


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

Dodajanje elementov

Metodo Add lahko uporabite za dodajanje novih elementov v predmet Collection.

Skladnja:

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

Parametri:

item: element, ki bo dodan v predmet Collection. Lahko je poljubne vrste.

key: niz, uporabljen kot enkratni ključ, s katerim boste identificirali to vrednost.

before, after: neobvezni argument ključnih besed, ki nakazuje, kam bo postavljen novi element v predmetu Collection. Navedete lahko le enega od argumentov before (pred) in after (za), da določite indeks ali ključ, pred katerim (ali za katerim) bo umeščen novi element.

Primer:

Spodnji primer doda dva elementa v predmet Collection. Prvi ima z njim povezan ključ, drugi ne.


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

Metoda Add podpira tudi argumente ključnih besed:


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

Ključi morajo biti enkratni v predmetu Collection. Primerjava med ključi ne razlikuje velikih in malih črk. Dodajanje podvojenih ključev povzroči napako pri izvajanju.


Spodnji primer ilustrira rabo argumentov ključnih besed Before in After za določitev položaja predmeta, ki bo dodan.


    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

Elementom v predmetu Collection se dodeli celoštevilska vrednost indeksa, ki se začne z 1 in ustreza vrstnemu redu, po katerem so bili elementi dodatni.


Dostop do elementov

Uporabite metodo Item za dostop do danega elementa z njegovim indeksom ali ključem.

oCollection.Item(index)

oCollection.Item(key)

Parametri:

index: celoštevilska vrednost, ki določa indeks elementa, ki bo vrnjen.

key: vrednost niza, ki določa ključ za element, ki bo vrnjen.

Primer:


    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
  

Odstranjevanje elementov

Uporabite metodo Remove, da izbrišete elemente iz predmeta Collection.

Skladnja:

Elemente lahko odstranite s sklicevanjem na njihove indekse ali vrednosti ključev.

oCollection.Remove(index)

oCollection.Remove(key)

Parametri:

index: celoštevilska vrednosti, ki določa indeks predmeta, ki ga želite odstraniti.

key:: niz, ki določa ključ elementa, ki ga želite odstraniti.

Primer:


    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
  

Iteracija po vseh elementih

Uporabite lahko zanko z ukazi For Each ... Next za iteracijo po vseh elementih predmeta Collection.


    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
  

Praznjenje predmeta Collection

Če želite odstraniti vse elemente iz predmeta Collection, pokličite metodo Remove za vsak element, kar ilustrira spodnji primer:


    ' Ustvari primer predmeta Collection z dvema vnosoma
    Dim myCollection as New Collection
    myCollection.Add(item := 10, key := "A")
    myCollection.Add(item := 11, key := "B")
    MsgBox myCollection.Count ' 2
    ' Odstrani vse elemente iz predmeta Collection
    For i = myCollection.Count To 1 Step -1
    	myCollection.Remove(i)
    Next i
    MsgBox myCollection.Count ' 0
  

Podprite nas!