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>.