Sobes.tech
Junior — Middle

¿Qué formas implementan la interfaz IEnumerable en el lenguaje de programación?

sobes.tech AI

Respuesta de la IA

En el lenguaje C#, la interfaz IEnumerable es implementada por clases y estructuras que proporcionan el método GetEnumerator(), que devuelve un objeto que implementa la interfaz IEnumerator. Esto permite recorrer la colección usando un ciclo foreach.

Las principales formas de implementar IEnumerable:

  1. Implementación 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];
    }
}
  1. Implementación de la interfaz 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();
}
  1. Uso de colecciones de la biblioteca estándar que ya implementan IEnumerable (por ejemplo, List<T>, Array).

Por lo tanto, el punto clave es proporcionar el método GetEnumerator(), que devuelve un enumerador para recorrer los elementos de la colección.