Sobes.tech
Junior — Middle

¿Cuál es la diferencia entre la interfaz IList y la colección de tipo List en C#?

sobes.tech AI

Respuesta de la IA

IList<T> es una interfaz que define un conjunto de métodos y propiedades para trabajar con una colección que soporta indexación, adición, eliminación de elementos, etc. Establece un contrato que diferentes clases de colecciones pueden implementar.

List<T> es una implementación concreta de la interfaz IList<T>, que proporciona un array dinámico con acceso rápido por índice, así como la capacidad de añadir y eliminar elementos.

Diferencias principales:

  • IList<T> es una abstracción que permite escribir código independiente de la implementación concreta de la colección.
  • List<T> es una clase concreta con una implementación que se puede usar directamente.

Ejemplo:

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

Aquí, la variable se declara como IList<int>, lo que ofrece flexibilidad para cambiar la implementación sin modificar el resto del código.