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