Partager via


Comment : créer une collection d'objets

Mise à jour : novembre 2007

Comme avec tout objet, vous déclarez une variable pour contenir l'objet, puis vous créez l'objet de collection et l'assignez à la variable.

Pour un objet de collection, vous pouvez utiliser la Classe de la collection Visual Basic ou une classe de collection de .NET Framework. En particulier, vous pouvez créer une collection générique en utilisant une des classes de l'espace de noms System.Collections.Generic. Une collection générique est utile lorsque chaque élément de la collection a le même type de données. Les collections génériques mettent en vigueur le typage fort en autorisant uniquement l'ajout du type de données souhaité. Pour plus d'informations, consultez Comment : définir des collections de type sécurisé.

Une fois l'objet de collection créé, vous pouvez ajouter et supprimer des éléments et accéder aux éléments de la collection.

Deux exemples sur la création de collections sont présentés ci-dessous. Chaque collection contient des éléments String et associe une clé String à chaque élément. Les deux premières procédures créent une collection à l'aide de la classe de collection Visual Basic. Les deux dernières procédures créent une collection à l'aide d'une classe de collection générique du .NET Framework.

Pour créer une collection à l'aide de la classe de collection Visual Basic

  1. Déclarez et créez une variable CollectionVisual Basic, comme le montre l'exemple suivant.

    Dim sampleVisualBasicColl As New Microsoft.VisualBasic.Collection()
    

    La collection dans sampleVisualBasicColl peut accepter des éléments de tout type de données.

  2. Utilisez la Add, méthode (objet Collection) pour ajouter des éléments à la collection. L'exemple suivant crée quatre éléments String et les ajoute à la collection. Il crée une valeur String unique comme clé pour chaque nouvel élément et passe cette valeur à la méthode Add.

    Dim item1, item2, item3, item4 As String
    item1 = "Items"
    item2 = "In"
    item3 = "A"
    item4 = "Collection"
    sampleVisualBasicColl.Add(item1, "firstkey")
    sampleVisualBasicColl.Add(item2, "secondkey")
    sampleVisualBasicColl.Add(item3, "thirdkey")
    sampleVisualBasicColl.Add(item4, "fourthkey")
    

    L'argument Key est facultatif dans une collection Visual Basic.

  3. Si vous souhaitez supprimer un élément de la collection, vous pouvez utiliser la Remove, méthode (objet Collection), en identifiant l'élément par son index de position ou par sa clé facultative. L'exemple suivant illustre ce comportement :

    ' Remove the first element of the Visual Basic collection.
    sampleVisualBasicColl.Remove(1)
    ' Remove the element with the key "secondkey".
    sampleVisualBasicColl.Remove("secondkey")
    

    Notez que lorsqu'un élément est supprimé d'une CollectionVisual Basic, les valeurs d'index sont renumérotées de 1 à la valeur de la Count, propriété (objet Collection).

Pour utiliser l'instruction For Each...Next afin de traiter les éléments de votre collection Visual Basic

  1. Déclarez une variable du type stocké dans la collection. Pour l'exemple précédent, déclarez une variable de type String, comme le montre l'exemple suivant.

    ' Insert code from the preceding example.
    Dim aString As String
    
  2. Utilisez une For Each...Next, instruction (Visual Basic) pour examiner chaque élément de la collection. L'exemple suivant recherche une chaîne particulière et l'affiche s'il la trouve.

    For Each aString in sampleVisualBasicColl
        If aString = "Collection" Then
            MsgBox(aString)
        End If
    Next aString
    

Pour créer une collection à l'aide d'une classe de collection générique

  1. Déclarez et créez une variable System.Collections.Generic.Dictionary<TKey, TValue> du .NET Framework, comme le montre l'exemple suivant.

    Dim sampleGenericColl As New System.Collections.Generic.Dictionary(Of String, String)
    

    La variable sampleGenericColl contient une collection de type sécurisé qui accepte uniquement des éléments et des clés de type String.

  2. Utilisez la méthode Dictionary<TKey, TValue>.Add pour ajouter des éléments à la collection. L'exemple suivant crée quatre éléments String et les ajoute à la collection. Il crée une valeur String unique comme clé pour chaque nouvel élément et passe cette valeur à la méthode Add.

    Dim item1, item2, item3, item4 As String
    item1 = "Items"
    item2 = "In"
    item3 = "A"
    item4 = "Collection"
    sampleGenericColl.Add("firstkey", item1)
    sampleGenericColl.Add("secondkey", item2)
    sampleGenericColl.Add("thirdkey", item3)
    sampleGenericColl.Add("fourthkey", item4)
    

    L'argument Key est requis dans cette collection générique.

  3. Pour supprimer un élément de la collection, utilisez la méthode IDictionary<TKey, TValue>.Remove. Vous devez fournir la clé pour identifier l'élément à supprimer. L'exemple suivant illustre ce comportement :

    If Not sampleGenericColl.Remove("thirdkey")
        ' Insert code to handle "thirdkey" not found in collection.
    End If
    

    Vous pouvez utiliser une instruction For Each...Next pour parcourir en boucle et traiter les éléments d'une collection, comme le démontre la procédure suivante.

Pour utiliser l'instruction For Each...Next afin de traiter les éléments de votre collection générique

  1. Déclarez une variable du type stocké dans la collection. Pour l'exemple précédent, déclarez une variable de type String, comme le montre l'exemple suivant.

    ' Insert code from the preceding example.
    Dim aPair As KeyValuePair(Of String, String)
    
  2. Utilisez une For Each...Next, instruction (Visual Basic) pour examiner chaque élément de la collection. L'exemple suivant recherche une chaîne particulière et l'affiche s'il la trouve.

    For Each aPair In sampleGenericColl
        If aPair.Value = "Items" Then
            MsgBox(aPair.Key & " -- " & aPair.Value)
        End If
    Next aPair
    

Voir aussi

Tâches

Comment : créer un tableau d'objets

Concepts

Classe de la collection Visual Basic

Référence

System.Collections

System.Collections.Generic

System.Collections.Specialized

Collection, objet (Visual Basic)