(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Collection-Klasse

Eine Collection von Visual Basic ist eine geordnete Gruppe von Elementen, auf die als Einheit verwiesen werden kann.

System.Object
  Microsoft.VisualBasic.Collection

Namespace:  Microsoft.VisualBasic
Assembly:  Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)

[SerializableAttribute]
public sealed class Collection : ICollection, 
	IList, ISerializable, IDeserializationCallback

Der Collection-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeCollectionErstellt ein neues Visual BasicCollection-Objekt und gibt dieses zurück.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftCountGibt eine Integer zurück, die die Anzahl der Elemente in einer Auflistung enthält. Schreibgeschützt.
Öffentliche EigenschaftItem[Int32]Gibt ein bestimmtes Element eines Collection-Objekts entweder nach Position oder nach Schlüssel zurück. Schreibgeschützt.
Öffentliche EigenschaftItem[Object]Gibt ein bestimmtes Element eines Collection-Objekts entweder nach Position oder nach Schlüssel zurück. Schreibgeschützt.
Öffentliche EigenschaftItem[String]Gibt ein bestimmtes Element eines Collection-Objekts entweder nach Position oder nach Schlüssel zurück. Schreibgeschützt.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeAddFügt einem Collection-Objekt ein Element hinzu.
Öffentliche MethodeClearLöscht alle Elemente eines Collection-Objekts in Visual Basic.
Öffentliche MethodeContainsGibt einen Boolean-Wert zurück, der angibt, ob ein Collection-Objekt in Visual Basic ein Element mit einem bestimmten Schlüssel enthält.
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeGetEnumeratorGibt einen Verweis auf ein Enumeratorobjekt zurück, das zum Durchlaufen eines Collection-Objekts verwendet wird.
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeRemove(Int32)Entfernt ein Element aus einem Collection-Objekt.
Öffentliche MethodeRemove(String)Entfernt ein Element aus einem Collection-Objekt.
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeICollection.CopyToKopiert die Elemente der Collection in ein Array, beginnend bei einem bestimmten Array-Index. Implementiert die ICollection-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate EigenschaftICollection.CountRuft die Anzahl der Elemente in dieser Auflistung ab. Implementiert die ICollection-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate EigenschaftICollection.IsSynchronizedRuft einen Wert ab, der angibt, ob der Zugriff auf das Collection-Objekt synchronisiert (threadsicher) ist. Implementiert die ICollection-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate EigenschaftICollection.SyncRootRuft ein Objekt ab, mit dem der Zugriff auf das Collection-Objekt synchronisiert werden kann. Implementiert die ICollection-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate MethodeIDeserializationCallback.OnDeserializationWird ausgeführt, nachdem das gesamte Collection-Objektdiagramm deserialisiert wurde. Implementiert die IDeserializationCallback-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate MethodeIEnumerable.GetEnumeratorGibt einen Enumerator zurück, der die Auflistung durchläuft. Implementiert die ICollection-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate MethodeIList.AddFügt dem Collection-Objekt ein Element hinzu. Implementiert die IList-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate MethodeIList.ClearEntfernt alle Elemente aus dem Collection-Objekt. Implementiert die IList-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate MethodeIList.ContainsBestimmt, ob das Collection-Objekt einen bestimmten Wert enthält. Implementiert die IList-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate MethodeIList.IndexOfBestimmt den Index eines bestimmten Elements im Collection-Objekt. Implementiert die IList-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate MethodeIList.InsertFügt dem Collection-Objekt am angegebenen Index ein Element hinzu. Implementiert die IList-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate EigenschaftIList.IsFixedSizeRuft einen Wert ab, der angibt, ob das Collection-Objekt eine feste Größe hat. Implementiert die IList-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate EigenschaftIList.IsReadOnlyRuft einen Wert ab, der angibt, ob das Collection-Objekt schreibgeschützt ist. Implementiert die IList-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate EigenschaftIList.ItemRuft das Element am angegebenen Index ab oder legt dieses fest. Implementiert die IList-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate MethodeIList.RemoveEntfernt das erste Vorkommen eines bestimmten Objekts aus dem Collection-Objekt. Implementiert die IList-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate MethodeIList.RemoveAtEntfernt das Collection-Objektelement am angegebenen Index. Implementiert die IList-Schnittstelle.
Explizite SchnittstellenimplementierungPrivate MethodeISerializable.GetObjectDataGibt die zum Serialisieren des Collection-Objekts erforderlichen Daten zurück. Implementiert die ISerializable-Schnittstelle.
Zum Seitenanfang

HinweisHinweis

Wenn möglich, Sie die generischen Auflistungen im System.Collections.Generic-Namespace oder im System.Collections.Concurrent-Namespace anstelle eines Visual Basic Collection verwenden sollten. Weitere Informationen finden Sie unter Auflistungen (C# und Visual Basic).

Das Collection-Objekt von Visual Basic bietet eine komfortable Möglichkeit, auf eine verwandte Gruppe von Elementen als einzelnes Objekt zu verweisen. Die Elemente in einer Auflistung müssen nur insofern miteinander verwandt sein, dass sie sich in der Auflistung befinden. Elemente einer Auflistung müssen nicht den gleichen Datentyp haben.

Wie das folgende Beispiel zeigt, erstellen Sie eine Auflistung auf die gleiche Weise wie andere Objekte.

Dim coll As New Microsoft.VisualBasic.Collection()

Sobald Sie eine Auflistung erstellt haben, können Sie die folgenden Aktionen ausführen:

  • Fügen Sie ein Element mit der Add-Methode hinzu.

  • Entfernen Sie ein Element mit der Remove-Methode.

  • Entfernen Sie alle Elemente mit der Clear-Methode.

  • Stellen Sie mit der Count-Eigenschaft fest, wie viele Elemente die Auflistung enthält.

  • Überprüfen Sie mit der Contains-Methode, ob ein bestimmtes Element vorhanden ist.

  • Geben Sie mit der Item-Eigenschaft ein bestimmtes Element der Auflistung zurück.

  • Mit der For Each...Next-Anweisung (Visual Basic) die gesamte Auflistung durchlaufen.

    HinweisHinweis

    Obwohl die Funktion des Collection-Objekts in Visual Basic und Visual Basic 6.0 identisch ist, ist eine Interoperation in einer COM-Umgebung nicht möglich.

    WarnhinweisVorsicht

    Das Durchlaufen einer Visual Basic-Collection ist keine threadsichere Prozedur. Auch wenn die Auflistung synchronisiert ist, besteht die Möglichkeit, dass andere Threads die Auflistung ändern. Dies führt dazu, dass der Enumerator eine Ausnahme auslöst. Sie können während der Enumeration Threadsicherheit gewährleisten, indem Sie entweder die Auflistung sperren oder die Ausnahmen abfangen, die durch Änderungen anderer Threads ausgelöst werden. Weitere Informationen über das Sperren eines Programmierelements finden Sie unter SyncLock-Anweisung.

Im folgenden Beispiel werden das Collection-Objekt names und ein Dialogfeld erstellt, in dem ein Benutzer Objekte (Namen) zu der Auflistung hinzufügen kann. Danach werden die Namen in der Auflistung angezeigt, und die Auflistung wird schließlich geleert, ohne das Collection-Objekt selbst zu löschen.

Wählen Sie für diesen Vorgang im Menü Projekt den Befehl Klasse hinzufügen, und deklarieren Sie auf der Modulebene von nameClass eine öffentliche Variable mit dem Namen instanceName (geben Sie Public instanceName ein), die die Namen der einzelnen Instanzen enthalten soll. Behalten Sie den Standardnamen nameClass. Kopieren Sie den folgenden Code, fügen Sie ihn in den Abschnitt Allgemein eines anderen Moduls ein, und starten Sie ihn anschließend mit der classNamer-Anweisung in einer anderen Prozedur. (Dieses Beispiel lässt sich nur mit Hostanwendungen durchführen, die Klassen unterstützen.)


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


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft