Junior — Middle
De que elementos é composta a estrutura interna do operador foreach em C#?
sobes.tech IA
Resposta da IA
A estrutura interna do operador foreach em C# baseia-se na utilização da interface IEnumerable e do seu método GetEnumerator(). Os elementos principais:
- Coleção que implementa
IEnumerable— objeto sobre o qual ocorre a iteração. - Enumerador (enumerator), que implementa
IEnumerator— objeto que controla a iteração sobre a coleção. - Método
MoveNext()— move o ponteiro para o próximo elemento da coleção. - Propriedade
Current— devolve o elemento atual da coleção.
Exemplo do que acontece por baixo dos panos:
IEnumerable collection = ...;
IEnumerator enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
{
var item = enumerator.Current;
// corpo do ciclo foreach
}
Assim, foreach simplifica o trabalho com os enumeradores, escondendo os detalhes da chamada a GetEnumerator(), MoveNext() e acesso a Current.