Junior — Middle
Quais métodos implementam a interface IEnumerable na linguagem de programação?
sobes.tech IA
Resposta da IA
Na linguagem C#, a interface IEnumerable é implementada por classes e estruturas que fornecem o método GetEnumerator(), que devolve um objeto que implementa a interface IEnumerator. Isto permite percorrer a coleção usando um ciclo foreach.
As principais formas de implementar IEnumerable:
- Implementação manual:
public class MyCollection : IEnumerable
{
private object[] items = {1, 2, 3};
public IEnumerator GetEnumerator()
{
for (int i = 0; i < items.Length; i++)
yield return items[i];
}
}
- Implementação da interface genérica
IEnumerable<T>:
public class MyCollection<T> : IEnumerable<T>
{
private T[] items;
public MyCollection(T[] items) { this.items = items; }
public IEnumerator<T> GetEnumerator()
{
for (int i = 0; i < items.Length; i++)
yield return items[i];
}
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}
- Uso de coleções da biblioteca padrão que já implementam
IEnumerable(por exemplo,List<T>,Array).
Assim, o ponto-chave é fornecer o método GetEnumerator(), que devolve um enumerador para percorrer os elementos da coleção.