Collection Collection Collection Collection Class

Definition

Eine Visual Basic-Collection ist eine geordnete Menge von Elementen, auf die als Einheit verwiesen werden kann.A Visual Basic Collection is an ordered set of items that can be referred to as a unit.

public ref class Collection sealed : System::Collections::IList, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
[System.Serializable]
public sealed class Collection : System.Collections.IList, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type Collection = class
    interface ICollection
    interface IList
    interface ISerializable
    interface IDeserializationCallback
Public NotInheritable Class Collection
Implements IDeserializationCallback, IList, ISerializable
Vererbung
CollectionCollectionCollectionCollection
Attribute
Implementiert

Beispiele

Das folgende Beispiel erstellt die Collection Objekt names und ein Dialogfeld, in dem ein Benutzer Objekte (Namen) der Auflistung hinzufügen kann.The following example creates the Collection object names and a dialog box with which a user can add objects (names) to the collection. Es zeigt dann die Namen in der Auflistung, und schließlich die Sammlung geleert, ohne Freigabe der die Collection Objekt selbst.It then displays the names in the collection, and finally empties the collection without disposing of the Collection object itself.

Um anzuzeigen, wie dies funktioniert, wählen die Klasse hinzufügen Befehl die Projekt Menü, und deklarieren Sie eine öffentliche Variable mit instanceName auf Modulebene von nameClass (Typ Public instanceName) zum Speichern die Namen der einzelnen Instanzen.To see how this works, choose the Add Class command from the Project menu and declare a public variable called instanceName at the module level of nameClass (type Public instanceName) to hold the names of each instance. Übernehmen Sie den Standardnamen als nameClass.Leave the default name as nameClass. Kopieren Sie den folgenden Code in die allgemeine Teil ein anderes Modul, und starten Sie ihn mit der Anweisung classNamer in einer anderen Prozedur.Copy and paste the following code into the General section of another module, and then start it with the statement classNamer in another procedure. (Dieses Beispiel funktioniert nur mit Hosten von Anwendungen, die Klassen unterstützen.)(This example works only with host applications that support classes.)

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

Hinweise

Hinweis

Wann immer möglich, sollten Sie die generischen Auflistungen im Verwenden der System.Collections.Generic Namespace oder die System.Collections.Concurrent Namespace anstelle einer Visual Basic Collection.Whenever possible, you should use the generic collections in the System.Collections.Generic namespace or the System.Collections.Concurrent namespace instead of a Visual Basic Collection. Weitere Informationen finden Sie unter Sammlungen.For more information, see Collections.

Die Visual Basic Collection Objekt bietet eine bequeme Möglichkeit zum Verweisen auf eine zusammengehörige Gruppe von Elementen als einzelnes Objekt.The Visual Basic Collection object provides a convenient way to refer to a related group of items as a single object. Die Elemente oder Elementein eine Auflistung benötigen nur verknüpft werden, durch die Tatsache, dass sie in der Auflistung vorhanden sind.The items, or elements, in a collection need only be related by the fact that they exist in the collection. Elemente einer Auflistung müssen nicht den gleichen Datentyp aufweisen.Elements of a collection do not have to share the same data type.

Sie eine Sammlung erstellen können die gleiche Weise, die Erstellung von anderen Objekten wie im folgende Beispiel veranschaulicht.You can create a collection the same way you create other objects, as the following example illustrates.

Dim coll As New Microsoft.VisualBasic.Collection()  

Nachdem Sie eine Sammlung erstellt haben, können Sie Folgendes ausführen:Once you have created a collection, you can do any of the following:

  • Fügen Sie ein Element mit dem Add Methode.Add an element with the Add method.

  • Entfernen Sie ein Element mit dem Remove Methode.Remove an element with the Remove method.

  • Entfernen Sie alle Elemente mit den Clear Methode.Remove all elements with the Clear method.

  • Erfahren Sie, wie viele Elemente die Auflistung enthält, mit der Count Eigenschaft.Find out how many elements the collection contains with the Count property.

  • Überprüfen Sie, ob ein bestimmtes Element mit vorhanden ist. die Contains Methode.Check whether a specific element is present with the Contains method.

  • Zurückgeben ein bestimmtes Elements aus der Auflistung mit den Item[String] Eigenschaft.Return a specific element from the collection with the Item[String] property.

  • Durchlaufen Sie die gesamte Auflistung mit den für jede... Nächste Anweisung.Iterate through the entire collection with the For Each...Next Statement.

    Hinweis

    Obwohl Visual Basic Collection Objekt verfügt über Funktionen, die identisch mit der Collection Objekts in Visual Basic 6.0, die beiden können nicht in einer Umgebung mit COM-Interoperabilität.Although the Visual Basic Collection object has functionality identical to the Collection object in Visual Basic 6.0, the two cannot interoperate in a COM environment.

    Achtung

    Durchlaufen eine Visual Basic Collection ist keine threadsichere Prozedur.Iterating through a Visual Basic Collection is not a thread-safe procedure. Auch wenn die Auflistung synchronisiert ist, können andere Threads weiterhin die Auflistung, wodurch des Enumerators eine Ausnahme auszulösen, ändern.Even if the collection is synchronized, other threads can still modify the collection, causing the enumerator to throw an exception. Um während der Enumeration Threadsicherheit zu gewährleisten, können Sie entweder die Auflistung sperren oder aufgrund von Änderungen durch andere Threads ausgelösten Ausnahmen abfangen.To guarantee thread safety during enumeration, either lock the collection or catch the exceptions resulting from changes made by other threads. Weitere Informationen zu Sperren ein Programmierelement finden Sie unter SyncLock-Anweisung.For more information on locking a programming element, see SyncLock Statement.

Konstruktoren

Collection() Collection() Collection() Collection()

Erstellt ein neues Collection-Objekt von Visual Basic und gibt dieses zurückCreates and returns a new Visual Basic Collection object.

Eigenschaften

Count Count Count Count

Ruft die Anzahl der Elemente in einer Auflistung ab.Gets the number of elements in a collection.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Ruft ein bestimmtes Element eines Collection-Objekts entweder nach Position oder nach Schlüssel ab.Gets a specific element of a Collection object either by position or by key.

Item[Object] Item[Object] Item[Object] Item[Object]

Ruft ein bestimmtes Element eines Collection-Objekts entweder nach Position oder nach Schlüssel ab.Gets a specific element of a Collection object either by position or by key.

Item[String] Item[String] Item[String] Item[String]

Ruft ein bestimmtes Element eines Collection-Objekts entweder nach Position oder nach Schlüssel ab.Gets a specific element of a Collection object either by position or by key.

Methoden

Add(Object, String, Object, Object) Add(Object, String, Object, Object) Add(Object, String, Object, Object) Add(Object, String, Object, Object)

Fügt einem Collection-Objekt ein Element hinzu.Adds an element to a Collection object.

Clear() Clear() Clear() Clear()

Löscht alle Elemente eines Collection-Objekts in Visual Basic.Deletes all elements of a Visual Basic Collection object.

Contains(String) Contains(String) Contains(String) Contains(String)

Gibt einen Wert zurück, der angibt, ob ein Collection-Objekt in Visual Basic ein Element mit einem bestimmten Schlüssel enthält.Returns a value that indicates whether a Visual Basic Collection object contains an element with a specific key.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Gibt einen Enumerator zurück, der die Auflistung durchläuft.Returns an enumerator that iterates through the collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(Int32) Remove(Int32) Remove(Int32) Remove(Int32)

Entfernt ein Element aus einem Collection-Objekt.Removes an element from a Collection object.

Remove(String) Remove(String) Remove(String) Remove(String)

Entfernt ein Element aus einem Collection-Objekt.Removes an element from a Collection object.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)

Kopiert die Elemente der Collection in ein Array, beginnend bei einem bestimmten Array-Index.Copies the elements of the Collection to an Array, starting at a particular Array index.

ICollection.Count ICollection.Count ICollection.Count ICollection.Count

Ruft die Anzahl der Elemente in dieser Auflistung ab.Gets the number of items in this collection.

ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf das Collection-Objekt synchronisiert (threadsicher) ist.Gets a value that indicates whether access to the Collection object is synchronized (thread-safe).

ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf das Collection-Objekt synchronisiert werden kann.Gets an object that can be used to synchronize access to the Collection object.

IDeserializationCallback.OnDeserialization(Object) IDeserializationCallback.OnDeserialization(Object) IDeserializationCallback.OnDeserialization(Object) IDeserializationCallback.OnDeserialization(Object)

Wird ausgeführt, nachdem das gesamte Collection-Objektdiagramm deserialisiert wurde.Runs after the entire Collection object graph has been deserialized.

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Ruft einen Enumerator ab, der die Auflistung durchläuft.Gets an enumerator that iterates through the collection.

IList.Add(Object) IList.Add(Object) IList.Add(Object) IList.Add(Object)
IList.Clear() IList.Clear() IList.Clear() IList.Clear()

Entfernt alle Elemente aus dem Collection-Objekt.Removes all items from the Collection object.

IList.Contains(Object) IList.Contains(Object) IList.Contains(Object) IList.Contains(Object)

Bestimmt, ob das Collection-Objekt einen bestimmten Wert enthält.Determines whether the Collection object contains a specific value.

IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object)

Bestimmt den Index eines bestimmten Elements im Collection-Objekt.Determines the index of a specific item in the Collection object.

IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object)

Fügt dem Collection-Objekt am angegebenen Index ein Element hinzu.Inserts an item to the Collection object at the specified index.

IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize

Ruft einen Wert ab, der angibt, ob das Collection-Objekt eine feste Größe hat.Gets a value that indicates whether the Collection object has a fixed size.

IList.IsReadOnly IList.IsReadOnly IList.IsReadOnly IList.IsReadOnly

Ruft einen Wert ab, der angibt, ob das Collection-Objekt schreibgeschützt ist.Gets a value that indicates whether the Collection object is.

IList.Item[Int32] IList.Item[Int32] IList.Item[Int32] IList.Item[Int32]

Ruft das Element am angegebenen Index ab oder legt dieses fest.Gets or sets the element at the specified index.

IList.Remove(Object) IList.Remove(Object) IList.Remove(Object) IList.Remove(Object)

Entfernt das erste Vorkommen eines bestimmten Objekts aus dem Collection-Objekt.Removes the first occurrence of a specific object from the Collection object.

IList.RemoveAt(Int32) IList.RemoveAt(Int32) IList.RemoveAt(Int32) IList.RemoveAt(Int32)

Entfernt das Collection-Objektelement am angegebenen Index.Removes the Collection object item at the specified index.

ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Gibt die zum Serialisieren des Collection-Objekts erforderlichen Daten zurück.Returns the data needed to serialize the Collection object.

Extension Methods

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Konvertiert eine IEnumerable auf eine IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für: