Utilisation de collections pour gérer plusieurs objets

Mise à jour : novembre 2007

Dans cette leçon, vous apprendrez comment utiliser une collection pour gérer des groupes d'objets.

Dans une leçon précédente, vous avez appris l'utilisation de tableaux pour gérer des groupes de variables. Même si vous pouvez utiliser des tableaux pour gérer des groupes d'objets, Visual Basic propose également un type d'objet spécial appelé collection qui peut être utilisé pour stocker et récupérer des groupes d'objets similaires.

Comme un tableau, chaque élément d'un objet Collection dispose d'un index qui permet de l'identifier. De plus, chaque élément d'un objet Collection dispose d'une clé, une valeur String qui permet de l'identifier. L'avantage que confère l'utilisation d'une clé tient dans ce que vous n'êtes pas contraint de mémoriser l'index d'un élément ; vous pouvez y faire référence au moyen d'un nom explicite.

Création d'une collection

Les collections sont utiles lorsque votre programme utilise plusieurs instances d'une même classe. Par exemple, examinez la classe Players que vous avez créée dans une leçon précédente. Vous aurez sans aucun doute besoin de plusieurs objets Players pour représenter une équipe de base-ball complète.

La première étape pour créer une collection consiste à créer une instance d'un objet Collection, comme illustré dans la déclaration suivante.

Dim baseballTeam As New Collection

Une fois l'objet Collection créé, vous pouvez utiliser la méthode Add pour lui ajouter des éléments, et la méthode Remove pour supprimer ces éléments. Lors de l'ajout d'éléments, spécifiez en premier lieu l'élément à ajouter, puis spécifiez la valeur String à utiliser en tant que clé.

baseballTeam.Add(playerObject, "Player's Name")

Lorsque vous supprimez un élément, utilisez la clé pour spécifier l'élément à supprimer.

baseballTeam.Remove("Player's Name")

Dans la procédure suivante, vous ajouterez deux nouveaux objets Players. Ensuite, vous créerez une collection team et lui ajouterez les objets Players à l'aide de la propriété Position définie en tant que clé.

Essayez !

Pour créer une collection d'objets

  1. Ouvrez le projet Persons que vous avez créé dans la leçon précédente. Si vous ne l'avez pas enregistré, revenez à la leçon précédente, Génération d'une classe à partir d'une classe existante : utilisation de l'héritage, et terminez les procédures.

  2. Dans l'Explorateur de solutions, sélectionnez le nœud Form1.vb dans le projet PlayerTest, puis dans le menu Affichage, sélectionnez Code.

  3. Dans l'éditeur de code, ajoutez le code suivant à la section des déclarations (sous la déclaration de player2).

    Dim player3 As New Persons.Players
    Dim player4 As New Persons.Players
    Dim team As New Collection
    
  4. Ajoutez le code suivant à la procédure événementielle Form1_Load.

    With player3
        .FirstName = "Eduardo"
        .LastName = "Saavedra"
        .Number = 52
        .Position = "First Base"
    End With
    
    With player4
        .FirstName = "Karl"
        .LastName = "Jablonski"
        .Number = 22
        .Position = "Pitcher"
    End With
    
    team.Add(player1, player1.Position)
    team.Add(player2, player2.Position)
    team.Add(player3, player3.Position)
    team.Add(player4, player4.Position)
    
  5. Dans l'Explorateur de solutions, sélectionnez le nœud Form1.vb du projet PlayerTest. Ensuite, dans le menu Affichage, choisissez Concepteur.

  6. À partir de la Boîte à outils, faites glisser un contrôle ComboBox dans le formulaire.

  7. Dans la fenêtre Propriétés, sélectionnez la propriété Éléments, puis cliquez sur le bouton Sélection (…).

  8. Dans l'éditeur de collections String, entrez le code suivant, puis cliquez sur OK.

    Catcher

    First Base

    Pitcher

    Shortstop

  9. Double-cliquez sur le contrôle ComboBox pour ouvrir l'éditeur de code, puis dans le gestionnaire d'événements ComboBox1_SelectedIndexChanged, saisissez le code suivant.

    Dim SelectedPlayer As Persons.Players
    SelectedPlayer = team(ComboBox1.SelectedItem)
    MsgBox("Playing " & ComboBox1.SelectedItem & " is " & _
    SelectedPlayer.FullName & "!")
    
  10. Appuyez sur F5 pour exécuter le programme. Sélectionnez un poste de jeu dans la liste déroulante ; le joueur à ce poste s'affiche dans un message.

Étapes suivantes

Dans cette leçon, vous avez appris comment utiliser un objet Collection pour gérer un groupe d'objets. À ce stade, vous pouvez choisir d'en savoir plus sur les collections dans Présentation détaillée : utilisation d'une boucle For Each...Next dans une collection, ou de passer au groupe de leçons suivantes pour apprendre à créer vos propres contrôles.

Leçon suivante : Objets visibles : création de votre premier contrôle utilisateur

Voir aussi

Tâches

Présentation détaillée : utilisation d'une boucle For Each...Next dans une collection

Présentation détaillée : substitution de membres

Génération d'une classe à partir d'une classe existante : utilisation de l'héritage

Concepts

Classe de la collection Visual Basic

Autres ressources

Objets visibles : création de votre premier contrôle utilisateur