Collection Classe

Définition

Une Collection Visual Basic est un jeu ordonné d’éléments qui peut être considéré collectivement comme une unité.

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 IEnumerable
    interface IList
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
Héritage
Collection
Attributs
Implémente

Exemples

L’exemple suivant crée l’objet Collectionnames et une boîte de dialogue avec laquelle un utilisateur peut ajouter des objets (noms) à la collection. Il affiche ensuite les noms dans la collection, puis vide la collection sans supprimer l’objet Collection lui-même.

Pour voir comment cela fonctionne, choisissez la commande Ajouter une classe dans le menu Projet et déclarez une variable publique appelée instanceName au niveau du module de nameClass (type Public instanceName) pour contenir les noms de chaque instance. Conservez le nom par défaut .nameClass Copiez et collez le code suivant dans la section Général d’un autre module, puis démarrez-le avec l’instruction classNamer dans une autre procédure. (Cet exemple fonctionne uniquement avec les applications hôtes qui prennent en charge les 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 génériques dans l’espace System.Collections.Generic de noms ou l’espace System.Collections.Concurrent de noms au lieu d’un visual Basic Collection. Pour plus d’informations, consultez Collections - C# ou Collections - Visual Basic.

L’objet Visual Basic Collection offre un moyen pratique de faire référence à un groupe d’éléments associé en tant qu’objet unique. Les éléments d’une collection doivent uniquement être liés par le fait qu’ils existent dans la collection. Les éléments d’une collection n’ont pas besoin de partager le même type de données.

Vous pouvez créer une collection de la même façon que vous créez d’autres objets, comme l’illustre l’exemple suivant.

Dim coll As New Microsoft.VisualBasic.Collection()  

Une fois que vous avez créé une collection, vous pouvez effectuer l’une des opérations suivantes :

  • Ajoutez un élément avec la Add méthode .

  • Supprimez un élément avec la Remove méthode .

  • Supprimez tous les éléments avec la Clear méthode .

  • Découvrez le nombre d’éléments que la collection contient avec la Count propriété .

  • Vérifiez si un élément spécifique est présent avec la Contains méthode .

  • Retourne un élément spécifique de la collection avec la Item[] propriété .

  • Itérer dans l’ensemble de la collection avec for each... Next Statement.

    Notes

    Bien que l’objet Visual Basic Collection ait des fonctionnalités identiques à l’objet Collection dans Visual Basic 6.0, les deux ne peuvent pas interagir dans un environnement COM.

    Attention

    L’itération au sein d’un Visual Basic Collection n’est pas une procédure thread-safe. Même si la collection est synchronisée, d’autres threads peuvent toujours modifier la collection, ce qui entraîne la levée d’une exception par l’énumérateur. 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. Pour plus d’informations sur le verrouillage d’un élément de programmation, consultez Instruction SyncLock.

Constructeurs

Collection()

Crée et retourne un objet Collection Visual Basic.

Propriétés

Count

Obtient le nombre d’éléments d’une collection.

Item[Int32]

Obtient un élément spécifique d’un objet Collection en fonction de sa position ou de sa clé.

Item[Object]

Obtient un élément spécifique d’un objet Collection en fonction de sa position ou de sa clé.

Item[String]

Obtient un élément spécifique d’un objet Collection en fonction de sa position ou de sa clé.

Méthodes

Add(Object, String, Object, Object)

Ajoute un élément à un objet Collection.

Clear()

Supprime tous les éléments d'un objet Visual Basic Collection.

Contains(String)

Retourne une valeur indiquant si un objet Visual Basic Collection contient un élément avec une clé spécifique.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetEnumerator()

Retourne un énumérateur qui itère au sein de la collection.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

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

Supprime un élément d'un objet Collection.

Remove(String)

Supprime un élément d'un objet Collection.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(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.

ICollection.Count

Obtient le nombre d’éléments de cette collection.

ICollection.IsSynchronized

Obtient une valeur qui indique si l’accès à l’objet Collection est synchronisé (thread-safe).

ICollection.SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l’accès à l’objet Collection.

IDeserializationCallback.OnDeserialization(Object)

S'exécute une fois la totalité du graphique d'objets Collection désérialisée.

IEnumerable.GetEnumerator()

Obtient un énumérateur qui itère au sein de la collection.

IList.Add(Object)

Ajoute un élément à la collection.

IList.Clear()

Supprime tous les éléments de l'objet Collection.

IList.Contains(Object)

Détermine si l'objet Collection contient une valeur spécifique.

IList.IndexOf(Object)

Détermine l'index d'un élément spécifique dans l'objet Collection.

IList.Insert(Int32, Object)

Insère un élément dans l'objet Collection au niveau de l'index spécifié.

IList.IsFixedSize

Obtient une valeur qui indique si l'objet Collection est de taille fixe.

IList.IsReadOnly

Obtient une valeur qui indique si l’objet Collection est en lecture seule.

IList.Item[Int32]

Obtient ou définit l'élément au niveau de l'index spécifié.

IList.Remove(Object)

Supprime la première occurrence d'un objet spécifique de l'objet Collection.

IList.RemoveAt(Int32)

Supprime l'élément d'objet Collection au niveau de l'index spécifié.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Retourne les données nécessaires à la sérialisation de l'objet Collection.

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

S’applique à