Share via


Collections et structures de données

Les données étroitement liées peuvent être gérées plus efficacement quand elles sont regroupées pour former une collection. Au lieu d'écrire un code distinct pour gérer chaque objet, vous pouvez utiliser le même code pour traiter tous les éléments d'une collection.

Utilisez la classe System.Array pour gérer une collection et les classes dans les espaces de noms System.Collections, System.Collections.Generic et System.Collections.Concurrent pour ajouter, supprimer et modifier des éléments individuels ou une série d'éléments dans une collection. Vous pouvez même copier une collection complète dans une autre collection.

Certaines classes System.Collections ont des fonctionnalités de tri, et la plupart sont indexées. La gestion de mémoire est automatique et la capacité d'une collection est étendue si nécessaire. La synchronisation garantit la sécurité des threads lors de l'accès à des membres de la collection. Certaines classes System.Collections peuvent générer des wrappers qui rendent la collection en lecture seule ou de taille fixe. Une classe System.Collections peut générer son propre énumérateur pour faciliter l'itération au sein des éléments.

Dans .NET Framework version 2.0, les classes de collections génériques fournissent de nouvelles fonctionnalités et facilitent la création de collections fortement typées. Consultez les espaces de noms System.Collections.Generic et System.Collections.ObjectModel.

Dans le .NET Framework version 4, les collections dans l'espace de noms System.Collections.Concurrent fournissent des opérations thread-safe efficaces pour accéder aux éléments de collecte de plusieurs threads.

La fonctionnalité LINQ to Objects permet d'utiliser des requêtes LINQ pour accéder aux objets en mémoire tant que le type d'objet implémente l'interface System.Collections.IEnumerable ou System.Collections.Generic.IEnumerable<T>. Les requêtes LINQ fournissent un modèle commun pour accéder aux données, sont généralement plus concises et lisibles que les boucles foreach standard et intègrent des fonctions de filtrage, de classement et de regroupement. Les requêtes LINQ peuvent également améliorer les performances. Pour plus d'informations, consultez LINQ to Objects et Parallel LINQ (PLINQ).

Rubriques connexes

Titre

Description

Définition de collections

Décrit les types de collections et explique les différences entre les types de collections génériques et non génériques de la bibliothèque de classes .NET Framework.

Types de collections couramment utilisés

Décrit les types de collection génériques et non génériques fréquemment utilisés, tels que System.Array, System.Collections.Generic.List<T> et System.Collections.Generic.Dictionary<TKey, TValue>.

Collections binaires

Décrit les types de collection System.Collections.BitArray et System.Collections.Specialized.BitVector32.

Collections spécialisées

Décrit les collections à usage spécifique, telles que System.Collections.Specialized.NameValueCollection, System.Collections.Specialized.StringDictionary et System.Collections.Specialized.StringCollection.

Collections thread-safe

Décrit les types de collections tels que System.Collections.Concurrent.BlockingCollection<T> et System.Collections.Concurrent.ConcurrentBag<T> qui prennent en charge l'accès simultané sécurisé et efficace de plusieurs threads.

Création et manipulation de collections

Traite de la sélection du meilleur type de collection, de l'énumération des collections, de l'utilisation de collections avec plusieurs threads et du tri des collections.

Quand utiliser les collections génériques

Traite de l'utilisation des types de collections génériques.

Référence

System.Array

System.Collections

System.Collections.Concurrent

System.Collections.Generic

System.Collections.Specialized

System.Linq