Collection Klas

Definitie

Een Visual Basic Collection is een geordende set items die kunnen worden aangeduid als een eenheid.

public ref class Collection sealed : System::Collections::IList
public ref class Collection sealed : System::Collections::IList, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public sealed class Collection : System.Collections.IList
[System.Serializable]
public sealed class Collection : System.Collections.IList, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type Collection = class
    interface ICollection
    interface IList
[<System.Serializable>]
type Collection = class
    interface ICollection
    interface IList
    interface ISerializable
    interface IDeserializationCallback
Public NotInheritable Class Collection
Implements IList
Public NotInheritable Class Collection
Implements IDeserializationCallback, IList, ISerializable
Overname
Collection
Kenmerken
Implementeringen

Voorbeelden

In het volgende voorbeeld worden het Collection object names en een dialoogvenster gemaakt waarmee een gebruiker objecten (namen) aan de verzameling kan toevoegen. Vervolgens worden de namen in de verzameling weergegeven en wordt de verzameling ten slotte geleegd zonder het Collection object zelf te verwijderen.

Als u wilt zien hoe dit werkt, kiest u de opdracht Add Class in het menu Project en declareert u een openbare variabele met de naam instanceName op moduleniveau van nameClass (type Public instanceName) om de namen van elk exemplaar op te geven. Laat de standaardnaam staan op nameClass. Kopieer en plak de volgende code in de sectie Algemeen van een andere module en begin deze vervolgens met de instructie classNamer in een andere procedure. (Dit voorbeeld werkt alleen met hosttoepassingen die klassen ondersteunen.)

Public Class nameClass
    Public instanceName As String
End Class
Sub classNamer()
    ' Create a Visual Basic Collection object.
    Dim names As New Microsoft.VisualBasic.Collection()
    Dim key As Integer
    Dim msg As String
    Dim name As String
    Dim nameList As String = ""
    ' 1. Get names from the user to add to the collection.
    Do
        Dim inst As New nameClass()
        key += 1
        msg = "Please enter a name for this object." & vbCrLf &
              "Press Cancel to see names in collection."
        name = InputBox(msg, "Name the Collection items")
        inst.instanceName = name
        ' If user entered a name, add it to the collection.
        If inst.instanceName <> "" Then
            names.Add(inst, CStr(key))
        End If
    Loop Until name = ""
    ' 2. Create and display a list of names from the collection.
    For Each oneInst As nameClass In names
        nameList &= oneInst.instanceName & vbCrLf
    Next oneInst
    MsgBox(nameList, , "Instance Names in names Collection")
    ' 3. Remove elements from the collection without disposing of the collection.
    For count As Integer = 1 To names.Count
        names.Remove(1)
        ' Since Visual Basic collections are reindexed automatically, 
        ' remove the first member on each iteration.
    Next count
End Sub

Opmerkingen

Note

Gebruik waar mogelijk de algemene verzamelingen in de System.Collections.Generic-naamruimte of de System.Collections.Concurrent-naamruimte in plaats van een Visual Basic Collection. Zie Collections - C# of Collections - Visual Basic voor meer informatie.

Het object Visual Basic Collection biedt een handige manier om te verwijzen naar een gerelateerde groep items als één object. De items, of elementen, in een verzameling hoeven alleen te zijn gerelateerd aan het feit dat ze in de verzameling aanwezig zijn. Elementen van een verzameling hoeven niet hetzelfde gegevenstype te delen.

U kunt een verzameling op dezelfde manier maken als andere objecten, zoals in het volgende voorbeeld wordt geïllustreerd.

Dim coll As New Microsoft.VisualBasic.Collection()

Nadat u een verzameling hebt gemaakt, kunt u een van de volgende handelingen uitvoeren:

  • Voeg een element toe met de Add methode.

  • Verwijder een element met de Remove methode.

  • Verwijder alle elementen met de Clear methode.

  • Ontdek hoeveel elementen de verzameling bevat met de Count eigenschap.

  • Controleer of een specifiek element aanwezig is bij de Contains methode.

  • Retourneert een specifiek element uit de verzameling met de Item[] eigenschap.

  • Doorloop de hele verzameling met de For Each... Volgende instructie.

    Note

    Hoewel het Visual Basic Collection-object dezelfde functionaliteit heeft als het Collection-object in Visual Basic 6.0, kunnen de twee niet samenwerken in een COM-omgeving.

    Caution

    Het doorlopen van een Visual Basic Collection is geen thread-safe procedure. Zelfs als de verzameling is gesynchroniseerd, kunnen andere threads de verzameling nog steeds wijzigen, waardoor de enumerator een uitzondering genereert. Om de veiligheid van threads tijdens de inventarisatie te garanderen, vergrendelt u de verzameling of ondervangt u de uitzonderingen die voortvloeien uit wijzigingen die door andere threads zijn aangebracht. Zie de SyncLock-instructie voor meer informatie over het vergrendelen van een programmeerelement.

Constructors

Name Description
Collection()

Hiermee maakt en retourneert u een nieuw Visual Basic Collection-object.

Eigenschappen

Name Description
Count

Hiermee haalt u het aantal elementen in een verzameling op.

Item[Int32]

Hiermee haalt u een specifiek element van een Collection object op positie of op sleutel op.

Item[Object]

Hiermee haalt u een specifiek element van een Collection object op positie of op sleutel op.

Item[String]

Hiermee haalt u een specifiek element van een Collection object op positie of op sleutel op.

Methoden

Name Description
Add(Object, String, Object, Object)

Hiermee voegt u een element toe aan een Collection object.

Clear()

Hiermee verwijdert u alle elementen van een Visual Basic Collection-object.

Contains(String)

Retourneert een waarde die aangeeft of een Visual Basic Collection-object een element met een specifieke sleutel bevat.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetEnumerator()

Retourneert een enumerator die door de verzameling wordt herhaald.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
Remove(Int32)

Hiermee verwijdert u een element uit een Collection object.

Remove(String)

Hiermee verwijdert u een element uit een Collection object.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
ICollection.CopyTo(Array, Int32)

Kopieert de elementen van de Collection elementen naar een Array, beginnend bij een bepaalde Array index.

ICollection.Count

Hiermee haalt u het aantal items in deze verzameling op.

ICollection.IsSynchronized

Hiermee wordt een waarde opgehaald die aangeeft of de toegang tot het Collection object wordt gesynchroniseerd (thread-safe).

ICollection.SyncRoot

Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot het Collection object te synchroniseren.

IDeserializationCallback.OnDeserialization(Object)

Wordt uitgevoerd nadat de hele Collection objectgrafiek is gedeserialiseerd.

IEnumerable.GetEnumerator()

Hiermee haalt u een opsomming op die door de verzameling wordt herhaald.

IList.Add(Object)

Voegt een item toe aan de verzameling.

IList.Clear()

Hiermee verwijdert u alle items uit het Collection object.

IList.Contains(Object)

Bepaalt of het Collection object een specifieke waarde bevat.

IList.IndexOf(Object)

Bepaalt de index van een specifiek item in het Collection object.

IList.Insert(Int32, Object)

Hiermee voegt u een item toe aan het Collection object in de opgegeven index.

IList.IsFixedSize

Hiermee wordt een waarde opgehaald die aangeeft of het Collection object een vaste grootte heeft.

IList.IsReadOnly

Hiermee wordt een waarde opgehaald die aangeeft of het Collection object is.

IList.Item[Int32]

Hiermee haalt u het element op de opgegeven index op of stelt u het in.

IList.Remove(Object)

Hiermee verwijdert u het eerste exemplaar van een specifiek object uit het Collection object.

IList.RemoveAt(Int32)

Hiermee verwijdert u het Collection objectitem in de opgegeven index.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Retourneert de gegevens die nodig zijn om het Collection object te serialiseren.

Extensiemethoden

Name Description
AsParallel(IEnumerable)

Hiermee schakelt u parallelle uitvoering van een query in.

AsQueryable(IEnumerable)

Converteert een IEnumerable naar een IQueryable.

Cast<TResult>(IEnumerable)

Cast de elementen van een IEnumerable naar het opgegeven type.

OfType<TResult>(IEnumerable)

Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type.

Van toepassing op