Sobes.tech
Junior — Middle

Quelle est la différence entre les différents types d'interfaces de collection?

sobes.tech IA

Réponse de l'IA

En C#, les interfaces de collection définissent différents contrats pour travailler avec des ensembles de données, et leur différence réside dans la fonctionnalité et l'objectif:

  • IEnumerable<T> — interface de base pour parcourir une collection avec foreach. Permet uniquement de lire les éléments un par un.
  • ICollection<T> — étend IEnumerable<T>, ajoute des méthodes pour modifier la collection (Add, Remove), des propriétés Count et IsReadOnly.
  • IList<T> — étend ICollection<T>, ajoute un indexeur pour accéder par index, des méthodes d'insertion et de suppression par index.
  • IDictionary<TKey, TValue> — représente une collection de paires clé-valeur, où l'accès aux éléments se fait par clé.

Ainsi, le choix de l'interface dépend des opérations requises : si seule l'itération est nécessaire — IEnumerable<T>, si la modification et le comptage sont nécessaires — ICollection<T>, si l'accès par index est requis — IList<T>, si le travail avec des clés — IDictionary<TKey, TValue>.