Sobes.tech
Junior — Middle

¿Cuál es la diferencia entre los diferentes tipos de interfaces de colección?

sobes.tech AI

Respuesta de la IA

En C#, las interfaces de colección definen diferentes contratos para trabajar con conjuntos de datos, y su diferencia radica en la funcionalidad y el propósito:

  • IEnumerable<T> — interfaz básica para recorrer una colección usando foreach. Solo permite leer los elementos uno por uno.
  • ICollection<T> — extiende IEnumerable<T>, añade métodos para modificar la colección (Add, Remove), propiedades Count y IsReadOnly.
  • IList<T> — extiende ICollection<T>, añade un indexador para acceder por índice, métodos para insertar y eliminar por índice.
  • IDictionary<TKey, TValue> — representa una colección de pares clave-valor, donde el acceso a los elementos se realiza por clave.

Por lo tanto, la elección de la interfaz depende de las operaciones requeridas: si solo se necesita iterar — IEnumerable<T>, si se necesita modificar y contar — ICollection<T>, si se requiere acceso por índice — IList<T>, si se trabaja con claves — IDictionary<TKey, TValue>.