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:
- 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];
}
}
- 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();
}
- 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.