Sobes.tech
Junior — Middle

¿De qué elementos consta la estructura interna del operador foreach en C#?

sobes.tech AI

Respuesta de la IA

La estructura interna del operador foreach en C# se basa en el uso de la interfaz IEnumerable y su método GetEnumerator(). Los elementos principales:

  • Colección que implementa IEnumerable — objeto sobre el cual se realiza la iteración.
  • Enumerador (enumerador), que implementa IEnumerator — objeto que controla la iteración sobre la colección.
  • Método MoveNext() — avanza el puntero al siguiente elemento de la colección.
  • Propiedad Current — devuelve el elemento actual de la colección.

Ejemplo de lo que sucede en el interior:

IEnumerable collection = ...;
IEnumerator enumerator = collection.GetEnumerator();

while (enumerator.MoveNext())
{
    var item = enumerator.Current;
    // cuerpo del ciclo foreach
}

De esta forma, foreach simplifica el trabajo con los enumeradores, ocultando los detalles de la llamada a GetEnumerator(), MoveNext() y el acceso a Current.