Logo es.removalsclassifieds.com

Diferencia entre IEnumerable e IEnumerator (con tabla)

Tabla de contenido:

Anonim

IEnumerable e IEnumerator son interfaces disponibles en C #. El primero es un módulo, mientras que el segundo es un objeto.

IEnumerable produce IEnumerator. Aquí GetEnumerator se usa para obtener IEnumerator. El bucle Foreach se usa para generar código que usa Enumerator. Un enumerador es diferente de IEnumerator ya que IEnumerator es una interfaz. Enumerator lo implementa.

IEnumerable frente a IEnumerator

La diferencia entre IEnumerable e IEnumerator es que IEnumerable funciona para la interfaz genérica e IEnumerator funciona para todas las interfaces no genéricas. IEnumerable apunta a un objeto que se puede enumerar, pero IEnumerator se implementa utilizando cada declaración para la iteración. La interfaz IEnumerable usa IEnumerator para la iteración de todos sus elementos usando para cada declaración.

IEnumerable se usa para encontrar un objeto que se usa como interfaz. Se utiliza para la iteración de todos los elementos de la colección. El proceso de iteración hace que sea más fácil recorrer la colección. Actúa como un objeto. GetEnumerator es un método que se utiliza para la implementación de la interfaz IEnumerator.

IEnumerator tiene dos métodos, Reset () y MoveNext (), y tiene una propiedad extendida que se conoce como Current. MoveNext () es un método que produce un valor booleano que señala el elemento final de la lista. El método de reinicio convierte al enumerador en su posición predeterminada.

Tabla de comparación entre IEnumerable e IEnumerator

Parámetros de comparación

IEnumerable

IEnumerator

Tipo de interfaz Genérico No genérico
Numero de metodos Una Dos
Devoluciones IEnumerator Ninguna
Estado del cursor No se puede retener Puede retener
Producto Objeto enumerado Para cada resultado de declaración
Manera de escribir Abstracto Hormigón

¿Qué es IEnumerable?

Esta es una interfaz que se implementa mediante una clase enumerable. Toda la colección en c # puede implementar una interfaz IEnumerable. Devuelve IEnumerator. No cambia según los especificadores de acceso utilizados en el código. IEnumerable tiene un método que se conoce como GetEnumerator. Esta implementación se realiza solo dentro de la clase.

El proceso de iteración hace que sea más fácil recorrer la colección. Actúa como un objeto. GetEnumerator es un método que se utiliza para la implementación de la interfaz IEnumerator. IEnumerable a menudo se conoce como una interfaz genérica, ya que el código está escrito en un tamaño muy pequeño porque solo necesita una implementación única. No importa cuántos constructores se utilicen en la implementación del código para iterar todos los elementos.

El código tiene poco mantenimiento ya que la modificación del código se realiza en una plataforma y no requiere ningún cambio adicional. Utiliza la abstracción para la iteración de todos los elementos de la matriz. Utiliza un iterador IEnumerator que se utiliza para la iteración de todos los elementos. Como es una clase genérica, realiza fácilmente la iteración de los elementos de la matriz. Proporciona una interfaz común. Se utiliza en todas las clases no genéricas.

¿Qué es IEnumerator?

Tiene dos métodos para implementar la iteración de todos los elementos de la colección. Tiene dos métodos que son MoveNext y Reset. MoveNext es un método que señala que la iteración no ha llegado al último elemento de la colección.

El método de reinicio hace lo mismo que suena. Señala que debe comenzar nuevamente la iteración después de que se realiza la iteración anterior hasta el último elemento de la matriz. Por último, el único objeto es Current, que da el elemento actual como resultado de la iteración. Tiene algún acceso específico a sus elementos. Solo proporciona acceso de solo lectura a toda su matriz.

IEnumerator llama a la propiedad actual, que tiene la responsabilidad de devolver el elemento de la lista que está actualmente en uso. Utiliza dos métodos y la propiedad para la iteración del objeto. Cada declaración usa la lista de arreglos y comienza la iteración avanzando y usa uno de los métodos. IEnumerator no puede devolver IEnumerable.

Puede recuperar fácilmente el estado actual del cursor. IEnumerator utiliza una forma concreta de escritura. Comienza la iteración en la pila iterando el primer elemento de la pila y terminando en el último elemento de la pila.

Principales diferencias entre IEnumerable e IEnumerator

Conclusiones

IEnumerable es una interfaz que se implementa mediante una clase enumerable. Utiliza la abstracción para la iteración de todos los elementos de la matriz. Utiliza un iterador IEnumerator que se utiliza para la iteración de todos los elementos. IEnumerator llama a la propiedad actual, que tiene la responsabilidad de devolver el elemento de la lista que está actualmente en uso.

Utiliza dos métodos y la propiedad para la iteración del objeto. IEnumerable a menudo se conoce como una interfaz genérica, ya que el código está escrito en un tamaño muy pequeño. IEnumerator utiliza una forma concreta de escritura. GetEnumerator es un método que se utiliza para la implementación de la interfaz IEnumerator.

El proceso de iteración facilita el recorrido en la colección en IEnumerable. Actúa como un objeto. MoveNext es un método que produce un valor booleano que señala el elemento final de la lista. IEnumerable devuelve la interfaz IEnumerator cuando se somete al proceso de iteración.

Ambos se utilizan para el proceso de iteración, que sigue diferentes formas de iteración. Utiliza un iterador para iterar todos los elementos de la matriz de la pila. Se diferencian unos de otros en que uno utiliza la abstracción y el otro utiliza códigos concretos. Tiene diferentes métodos y propiedades para recuperar el estado del cursor y mantener la iteración de la pila.

Diferencia entre IEnumerable e IEnumerator (con tabla)