Collection Classe

Définition

Une Collection Visual Basic est un jeu ordonné d’éléments qui peut être considéré collectivement comme une unité.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
Héritage
Collection
Attributs
Implémente

Exemples

L’exemple suivant crée l' Collection objet names et une boîte de dialogue avec laquelle un utilisateur peut ajouter des objets (noms) à la collection.The following example creates the Collection object names and a dialog box with which a user can add objects (names) to the collection. Il affiche ensuite les noms dans la collection, puis vide la collection sans supprimer l' Collection objet lui-même.It then displays the names in the collection, and finally empties the collection without disposing of the Collection object itself.

Pour voir comment cela fonctionne, choisissez la commande Ajouter une classe dans le menu projet et déclarez une variable instanceName publique appelée au niveau du nameClass module de Public instanceName(type) pour contenir les noms de chaque instance.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. Laissez le nom par défaut nameClasssous la forme.Leave the default name as nameClass. Copiez et collez le code suivant dans la section général d’un autre module, puis démarrez-le classNamer avec l’instruction dans une autre procédure.Copy and paste the following code into the General section of another module, and then start it with the statement classNamer in another procedure. (Cet exemple fonctionne uniquement avec les applications hôtes qui prennent en charge les classes.)(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

Remarques

Notes

Dans la mesure du possible, vous devez utiliser les collections System.Collections.Generic génériques de l' System.Collections.Concurrent espace de noms ou de Collectionl’espace de noms au lieu d’un Visual Basic.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. Pour plus d’informations, consultez Collections.For more information, see Collections.

L’objet Collection Visual Basic offre un moyen pratique de faire référence à un groupe d’éléments connexes sous la forme d’un objet unique.The Visual Basic Collection object provides a convenient way to refer to a related group of items as a single object. Les éléments, ou éléments, d’une collection doivent être liés uniquement par le fait qu’ils existent dans la collection.The items, or elements, in a collection need only be related by the fact that they exist in the collection. Les éléments d’une collection n’ont pas besoin de partager le même type de données.Elements of a collection do not have to share the same data type.

Vous pouvez créer une collection de la même façon que vous créez d’autres objets, comme le montre l’exemple suivant.You can create a collection the same way you create other objects, as the following example illustrates.

Dim coll As New Microsoft.VisualBasic.Collection()  

Une fois que vous avez créé un regroupement, vous pouvez effectuer l’une des opérations suivantes :Once you have created a collection, you can do any of the following:

  • Ajoutez un élément avec la Add méthode.Add an element with the Add method.

  • Supprimez un élément avec Remove la méthode.Remove an element with the Remove method.

  • Supprimez tous les éléments Clear avec la méthode.Remove all elements with the Clear method.

  • Déterminez le nombre d’éléments que la collection contient Count avec la propriété.Find out how many elements the collection contains with the Count property.

  • Vérifiez si un élément spécifique est présent avec la Contains méthode.Check whether a specific element is present with the Contains method.

  • Retourne un élément spécifique de la collection avec la Item[String] propriété.Return a specific element from the collection with the Item[String] property.

  • Itérer au sein de l’ensemble de la collection avec l’énumération for each... Instruction suivante.Iterate through the entire collection with the For Each...Next Statement.

    Notes

    Bien que l' Collection objet Visual Basic possède des fonctionnalités identiques Collection à celles de l’objet dans Visual Basic 6,0, les deux ne peuvent pas interagir dans un environnement com.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.

    Attention

    L’itération au sein Collection d’un Visual Basic n’est pas une procédure thread-safe.Iterating through a Visual Basic Collection is not a thread-safe procedure. Même si la collection est synchronisée, d’autres threads peuvent toujours modifier la collection, provoquant ainsi la levée d’une exception par l’énumérateur.Even if the collection is synchronized, other threads can still modify the collection, causing the enumerator to throw an exception. Pour garantir la sécurité des threads pendant l’énumération, verrouillez la collection ou interceptez les exceptions résultant des modifications apportées par d’autres threads.To guarantee thread safety during enumeration, either lock the collection or catch the exceptions resulting from changes made by other threads. Pour plus d’informations sur le verrouillage d’un élément de programmation, consultez instruction SyncLock.For more information on locking a programming element, see SyncLock Statement.

Constructeurs

Collection()

Crée et retourne un objet Collection Visual Basic.Creates and returns a new Visual Basic Collection object.

Propriétés

Count

Obtient le nombre d’éléments d’une collection.Gets the number of elements in a collection.

Item[Int32]

Obtient un élément spécifique d’un objet Collection en fonction de sa position ou de sa clé.Gets a specific element of a Collection object either by position or by key.

Item[Object]

Obtient un élément spécifique d’un objet Collection en fonction de sa position ou de sa clé.Gets a specific element of a Collection object either by position or by key.

Item[String]

Obtient un élément spécifique d’un objet Collection en fonction de sa position ou de sa clé.Gets a specific element of a Collection object either by position or by key.

Méthodes

Add(Object, String, Object, Object)

Ajoute un élément à un objet Collection.Adds an element to a Collection object.

Clear()

Supprime tous les éléments d'un objet Visual Basic Collection.Deletes all elements of a Visual Basic Collection object.

Contains(String)

Retourne une valeur indiquant si un objet Visual Basic Collection contient un élément avec une clé spécifique.Returns a value that indicates whether a Visual Basic Collection object contains an element with a specific key.

Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetEnumerator()

Retourne un énumérateur qui itère au sein de la collection.Returns an enumerator that iterates through the collection.

GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
Remove(Int32)

Supprime un élément d'un objet Collection.Removes an element from a Collection object.

Remove(String)

Supprime un élément d'un objet Collection.Removes an element from a Collection object.

ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Hérité de Object)

Implémentations d’interfaces explicites

ICollection.CopyTo(Array, Int32)

Copie les éléments de Collection dans Array, à partir d'un index particulier de Array.Copies the elements of the Collection to an Array, starting at a particular Array index.

ICollection.Count

Obtient le nombre d’éléments de cette collection.Gets the number of items in this collection.

ICollection.IsSynchronized

Obtient une valeur qui indique si l’accès à l’objet Collection est synchronisé (thread-safe).Gets a value that indicates whether access to the Collection object is synchronized (thread-safe).

ICollection.SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l’accès à l’objet Collection.Gets an object that can be used to synchronize access to the Collection object.

IDeserializationCallback.OnDeserialization(Object)

S'exécute une fois la totalité du graphique d'objets Collection désérialisée.Runs after the entire Collection object graph has been deserialized.

IEnumerable.GetEnumerator()

Obtient un énumérateur qui itère au sein de la collection.Gets an enumerator that iterates through the collection.

IList.Add(Object)
IList.Clear()

Supprime tous les éléments de l'objet Collection.Removes all items from the Collection object.

IList.Contains(Object)

Détermine si l'objet Collection contient une valeur spécifique.Determines whether the Collection object contains a specific value.

IList.IndexOf(Object)

Détermine l'index d'un élément spécifique dans l'objet Collection.Determines the index of a specific item in the Collection object.

IList.Insert(Int32, Object)

Insère un élément dans l'objet Collection au niveau de l'index spécifié.Inserts an item to the Collection object at the specified index.

IList.IsFixedSize

Obtient une valeur qui indique si l'objet Collection est de taille fixe.Gets a value that indicates whether the Collection object has a fixed size.

IList.IsReadOnly

Obtient une valeur qui indique si l’objet Collection est en lecture seule.Gets a value that indicates whether the Collection object is.

IList.Item[Int32]

Obtient ou définit l'élément au niveau de l'index spécifié.Gets or sets the element at the specified index.

IList.Remove(Object)

Supprime la première occurrence d'un objet spécifique de l'objet Collection.Removes the first occurrence of a specific object from the Collection object.

IList.RemoveAt(Int32)

Supprime l'élément d'objet Collection au niveau de l'index spécifié.Removes the Collection object item at the specified index.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Retourne les données nécessaires à la sérialisation de l'objet Collection.Returns the data needed to serialize the Collection object.

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.Enables parallelization of a query.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

S’applique à