Junior — Middle
Qual é a diferença entre os diferentes tipos de interfaces de coleção?
sobes.tech IA
Resposta da IA
Em C#, as interfaces de coleção definem diferentes contratos para trabalhar com conjuntos de dados, e a sua diferença reside na funcionalidade e na finalidade:
- IEnumerable<T> — interface básica para percorrer uma coleção usando foreach. Permite apenas ler os elementos um por um.
- ICollection<T> — estende IEnumerable<T>, adiciona métodos para modificar a coleção (Add, Remove), propriedades Count e IsReadOnly.
- IList<T> — estende ICollection<T>, adiciona um indexador para acesso por índice, métodos de inserção e remoção por índice.
- IDictionary<TKey, TValue> — representa uma coleção de pares chave-valor, onde o acesso aos elementos é feito por chave.
Assim, a escolha da interface depende das operações necessárias: se apenas iteração — IEnumerable<T>, se modificação e contagem — ICollection<T>, se acesso por índice — IList<T>, se trabalho com chaves — IDictionary<TKey, TValue>.