Comment : ajouter, supprimer et récupérer des éléments d'une collection
Mise à jour : novembre 2007
La classe Collection de Visual Basic comprend des fonctionnalités intégrées qui vous permettent d'ajouter, de supprimer et d'extraire des éléments.
Vous pouvez ajouter un élément à une collection dès la création ou l'obtention de celui-ci, par exemple un nouveau client.
Vous pouvez supprimer un élément d'une collection lorsqu'il n'appartient plus à celle-ci, par exemple lorsqu'un employé quitte votre société.
Vous pouvez extraire un élément d'une collection pour modifier son contenu, par exemple pour modifier le numéro de téléphone d'un stagiaire.
Remarque : |
---|
Les objets Collection mettent à jour automatiquement leurs numéros d'index numériques lorsque vous ajoutez et supprimez des éléments. De ce fait, l'index numérique d'un élément donné peut être modifié souvent. Par conséquent, n'enregistrez pas une valeur d'index numérique qui procédera ultérieurement à l'extraction du même élément dans votre programme. Vous devez utiliser des clés à cette fin. |
Pour ajouter un élément à une collection
Utilisez le Add, méthode (objet Collection) et spécifiez l'élément par sa Key.
object.Add(Item, Key [, {Before | After}])
Par exemple, pour ajouter un objet ordre de travail (work order) à une collection d'ordres de travail en utilisant la propriété ID de l'ordre de travail en tant que clé, vous pouvez effectuer l'appel suivant.
workOrders.Add(woNew, woNew.ID)
L'appel précédent suppose que la propriété ID est une chaîne. S'il s'agit d'un nombre (par exemple, un entier de type Long), utilisez sa méthode ToString pour le convertir en une valeur de type String requise pour l'argument Key.
workOrders.Add(woNew, woNew.ID.ToString())
L'utilisation d'une clé est facultative. Si vous ne souhaitez pas associer une clé à l'objet dans votre collection, vous pouvez l'ajouter sans clé.
workOrders.Add(woNew)
Vous pouvez utiliser les arguments Before et After facultatifs pour gérer une collection ordonnée d'objets. L'élément à ajouter est placé dans la collection avant ou après l'élément identifié par l'argument Before ou After, respectivement. Par exemple, le fait d'attribuer la valeur 1 à Before insère un élément au début de la collection puisque les objets Collection sont de base 1.
workOrders.Add(woNew, woNew.ID, 1)
De même, l'argument After ajoute un élément après l'index spécifié. L'exemple suivant ajoute un élément en tant que troisième élément.
workOrders.Add(woNew, woNew.ID,,2)
Vous pouvez spécifier une valeur soit pour Before, soit pour After, mais pas pour ces deux arguments.
Pour supprimer un élément d'une collection
Utilisez Remove, méthode (objet Collection) et spécifiez l'élément soit par son Index, soit par sa Key.
object.Remove({Index | Key})
L'argument Index est la position de l'élément que vous souhaitez supprimer. L'argument Key est la même chaîne que vous avez utilisée pour ajouter l'élément à la collection. Si la clé du troisième élément d'une collection est "W017493", vous pouvez utiliser l'une des deux instructions suivantes pour la supprimer.
workOrders.Remove(3) workOrders.Remove("W017493")
Pour supprimer tous les éléments d'une collection
Utilisez Clear, méthode (objet Collection).
object.Clear()
La méthode Clear vide la collection.
Pour extraire un élément d'une collection
Utilisez Item, propriété (objet Collection) et spécifiez l'élément soit par son Index, soit par sa Key.
variable = object.Item({Index | Key})
Comme avec la méthode Remove, l'argument Index est la position de l'élément dans la collection, et l'argument Key est la chaîne utilisée lorsque l'élément a été ajouté. En utilisant le même exemple que pour la méthode Remove, vous pouvez utiliser l'une des deux instructions suivantes pour extraire le troisième élément de la collection.
woCurrent = workOrders.Item(3) woCurrent = workOrders.Item("W017493")
Remarque : Si vous utilisez des nombres comme clés, vous devez utiliser leurs méthodes ToString pour les convertir en chaînes avant de les passer à la méthode Add ou Remove, ou à la propriété Item. Un objet Collection de Visual Basic suppose toujours qu'un nombre est un index plutôt qu'une chaîne clé.
Si vous connaissez la clé au moment de la compilation, vous pouvez utiliser également l'opérateur d'accès de type dictionnaire (!) pour accéder à un élément de la collection sans placer la clé entre guillemets ou parenthèses. L'appel précédent peut s'écrire de la manière suivante.
woCurrent = workOrders!W017493
Voir aussi
Concepts
Classe de la collection Visual Basic
Collections en tant qu'alternative aux tableaux
Référence
Collection, membres de l'objet
Add, méthode (objet Collection)
Remove, méthode (objet Collection)