Junior
O que é IEnumerable em C#?
sobes.tech IA
Resposta da IA
IEnumerable em C# é uma interface definida no espaço de nomes System.Collections. Ela fornece uma forma geral de percorrer (iterar) os elementos de uma coleção.
Características principais do IEnumerable:
- Acesso por iterador: Define o método
GetEnumerator(), que retorna um objeto que implementa a interfaceIEnumerator.IEnumeratorpermite avançar sequencialmente de um elemento da coleção para outro. - Somente leitura:
IEnumerablepermite apenas percorrer os elementos. Não fornece métodos para adicionar, remover ou modificar elementos da coleção. - Carregamento preguiçoso: O uso de
IEnumerablemuitas vezes leva a um carregamento preguiçoso. Os elementos são gerados ou carregados apenas conforme necessário durante a iteração. - Base do LINQ:
IEnumerableé uma interface fundamental para muitas operações do LINQ. Os métodos de extensão do LINQ (comoWhere,Select,OrderBy) trabalham com coleções que implementamIEnumerable, permitindo criar cadeias de operações.
Exemplo de uso:
// Criar uma lista de strings
List<string> frutas = new List<string> { "maçã", "banana", "cereja" };
// Iterar sobre os elementos da lista usando foreach, que funciona com IEnumerable
foreach (string fruta in frutas)
{
// Exibir cada fruta
Console.WriteLine(fruta);
}
Interfaces relacionadas:
| Interface | Descrição |
|---|---|
IEnumerable |
Fornece a enumeração dos elementos de uma coleção |
IEnumerable<T> |
Versão genérica de IEnumerable para coleções tipadas |
ICollection |
Estende IEnumerable, adiciona métodos para tamanho, adição/remoção de elementos (não universal) |
ICollection<T> |
Versão genérica de ICollection |
IList<T> |
Estende ICollection<T>, adiciona acesso aos elementos por índice |