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