Gestion de vos objets avec les collections

Mise à jour : novembre 2007

Les collections vous permettent de gérer efficacement un ensemble d'objets. Vous pouvez ajouter et supprimer des objets d'une collection, les extraire en fonction d'un index ou d'une clé et utiliser For Each...Next, instruction (Visual Basic) pour parcourir les éléments de votre collection.

Collections de type risquées

Toutefois, la flexibilité des collections peut fragiliser la robustesse de vos classes. Par exemple, la collection fournie par Visual Basic stocke tous ses éléments comme type Object, vous pouvez donc ajouter un élément de n'importe quel type de données. Il n'existe aucun dispositif de protection contre les types de données peu appropriés qui sont ajoutés, et lorsque vous accédez à un élément, vous devez le convertir de Object en type de données voulu.

Collections spécialisées

Le .NET Framework fournit plusieurs alternatives à la collection Visual Basic. L'espace de noms System.Collections contient des classes de collection avec des fonctionnalités spécifiques, telles qu'une file d'attente ou une liste triée, et l'espace de noms System.Collections.Specialized contient des classes de collection particulière, telles que HybridDictionary.

Collections de type sécurisées

Pour éviter les inconvénients d'éléments de type Object, vous pouvez utiliser les collections génériques de l'espace de noms System.Collections.Generic. Ces collections fournissent la sécurité de type et vous permettent de limiter les éléments d'une collection à un seul type de données spécifique.

Approches de l'utilisation des collections

Vous pouvez suivre trois approches générales pour implémenter une gestion d'objets en utilisant des collections. Considérez une application qui définit une classe widgetRepository qui organise et expose des objets widget à des composants clients. Pour implémenter widgetRepository avec une collection, vous pouvez utiliser l'une des stratégies suivantes.

  • Utiliser une classe de collection. Dans la classe widgetRepository, déclarez une variable widgetsColl comme une instance de Classe de la collection Visual Basic ou de l'une des classes dans les espaces de noms System.Collections, System.Collections.Generic ou System.Collections.Specialized. Rendez la variable publique et utilisez le mot clé New (Visual Basic) pour créer une instance de la collection. Pour plus d'informations, consultez Comment : définir des collections dans vos classes.

  • Hériter d'une classe de base de collection. Implémentez votre propre classe widgetsColl en héritant de la classe CollectionBase. Dans la classe widgetRepository, définissez une instance de la classe widgetsColl et une propriété qui retourne cette instance. Pour plus d'informations, consultez Comment : définir des collections dans vos classes.

  • Écrire la collection vous-même. Implémentez les fonctionnalités de la collection dans la classe widgetRepository en écrivant les classes et les procédures appropriées. Cette approche est très utile si vous avez besoin de fonctionnalités de collection dans votre classe, mais ne pouvez hériter des classes de collection existantes. Cela est possible, par exemple, si votre classe devait, exceptionnellement, hériter d'une classe autre qu'une classe de collection. Comme elle ne peut pas hériter de plusieurs classes, vous devrez définir et implémenter des membres de collection.

Voir aussi

Concepts

Gestion de groupes d'objets

Classe de la collection Visual Basic

Référence

System.Collections

System.Collections.Generic

System.Collections.Specialized