Tabla de contenido:
Definición - ¿Qué significa Iterator?
Un iterador, en el contexto de C #, es un bloque de código que devuelve una secuencia ordenada de valores de una colección o matriz. Es una función miembro implementada utilizando el bloque iterador, que contiene una o más declaraciones que contienen la palabra clave "rendimiento".
Se utiliza un iterador para permitir a los consumidores de una clase de contenedor, que contiene una colección o matriz, recorrer la colección utilizando la instrucción "foreach" de una manera más simple. Se usa con clases de colección fuertemente tipadas para iterar estructuras de datos complejas como árboles binarios, que requieren un recorrido recursivo y mantienen el estado de iteración a través de la recursividad. El concepto de iterador también se usa para implementar la ejecución diferida en consultas LINQ.
Techopedia explica Iterator
El iterador se basa en un patrón de diseño que proporciona un método para atravesar los elementos de una colección de elementos secuencialmente sin exponer la estructura subyacente de la colección. Elimina la tediosa tarea de implementar la interfaz "IEnumerator" manualmente al crear clases de colección que admitan la declaración "foreach". El compilador genera el código de lenguaje intermedio necesario para implementar los métodos y propiedades de la interfaz IEnumerator, lo que da como resultado una sintaxis más simple, un tamaño de código reducido y una mejora en la productividad del desarrollador.
En general, un iterador es similar a un cursor de base de datos en el sentido de que proporciona acceso a elementos de datos en una colección, pero no realiza la iteración. Se puede implementar un iterador en C # como método, operador u obtener un descriptor de acceso. Por ejemplo, un iterador puede usarse para atravesar una colección de cadenas para mostrar el contenido de cada cadena en la colección.
La interfaz IEnumerator representa un iterador y el compilador lo implementa con los siguientes métodos:
- MoveNext: un método que avanza al siguiente elemento de la colección e indica el final de esa colección
- Actual: una propiedad que obtiene el valor del elemento al que se apunta actualmente
- Eliminar: limpia la iteración
