Sobes.tech
Junior — Middle

Quelle est la différence entre l'interface IList et la collection de type List en C#?

sobes.tech IA

Réponse de l'IA

IList<T> est une interface qui définit un ensemble de méthodes et de propriétés pour travailler avec une collection prenant en charge l'indexation, l'ajout, la suppression d'éléments, etc. Elle établit un contrat que différentes classes de collections peuvent implémenter.

List<T> est une implémentation concrète de l'interface IList<T>, fournissant un tableau dynamique avec un accès rapide par index, ainsi que la possibilité d'ajouter et de supprimer des éléments.

Principales différences :

  • IList<T> est une abstraction permettant d'écrire du code indépendant de l'implémentation concrète de la collection.
  • List<T> est une classe concrète avec une implémentation que l'on peut utiliser directement.

Exemple :

IList<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
Console.WriteLine(numbers[0]); // 1

Ici, la variable est déclarée comme IList<int>, ce qui offre une flexibilité pour changer l'implémentation sans modifier le reste du code.