Logo pt.removalsclassifieds.com

Diferença entre IEnumerable e IEnumerator (com tabela)

Índice:

Anonim

IEnumerable e IEnumerator são interfaces disponíveis em C #. O primeiro é um módulo, enquanto o último é um objeto.

IEnumerable produz IEnumerator. Aqui, GetEnumerator é usado para obter IEnumerator. O loop Foreach é usado para gerar código que usa Enumerator. Um enumerador é diferente de IEnumerator, pois IEnumerator é uma interface. Enumerator o implementa.

IEnumerable vs IEnumerator

A diferença entre IEnumerable e IEnumerator é que IEnumerable funciona para a interface genérica e IEnumerator funciona para todas as interfaces não genéricas. IEnumerable aponta para um objeto que pode ser enumerado, mas IEnumerator é implementado usando cada instrução para iteração. A interface IEnumerable usa o IEnumerator para iteração de todos os seus elementos usando para cada instrução.

IEnumerable é usado para localizar um objeto que é usado como uma interface. Ele é usado para a iteração de todos os elementos da coleção. O processo de iteração torna mais fácil atravessar na coleção. Ele atua como um objeto. GetEnumerator é um método usado para a implementação da interface IEnumerator.

IEnumerator possui dois métodos, Reset () e MoveNext (), e possui uma propriedade estendida que é conhecida como Current. MoveNext () é um método que produz um valor booleano que aponta o elemento final da lista. O método reset torna o enumerador sua posição padrão.

Tabela de comparação entre IEnumerable e IEnumerator

Parâmetros de comparação

IEnumerable

IEnumerator

Tipo de Interface Genérico Não genérico
Número de Métodos Um Dois
Devoluções IEnumerator Nenhum
Estado do Cursor Não pode reter Pode reter
produtos Objeto enumerado Para cada resultado de declaração
Maneira de escrever Resumo Concreto

O que é IEnumerable?

Esta é uma interface implementada por uma classe enumerável. Toda a coleção em c # pode implementar uma interface IEnumerable. Ele retorna IEnumerator. Ele não muda de acordo com os especificadores de acesso usados ​​no código. IEnumerable tem um método conhecido como GetEnumerator. Essa implementação é feita apenas dentro da classe.

O processo de iteração torna mais fácil atravessar na coleção. Ele atua como um objeto. GetEnumerator é um método usado para a implementação da interface IEnumerator. IEnumerable é freqüentemente conhecido como uma interface genérica, pois o código é escrito em um tamanho muito menor, pois precisa apenas de uma implementação única. Não importa quantos construtores são usados ​​na implementação do código para iterar todos os elementos.

O código tem baixa manutenção, pois a modificação do código está em uma plataforma e não requer nenhuma mudança extra. Ele usa abstração para a iteração de todos os elementos do array. Ele usa um iterador IEnumerator que é usado para a iteração de todos os elementos. Por ser uma classe genérica, ela faz facilmente a iteração dos elementos do array. Ele fornece uma interface comum. É usado em todas as classes não genéricas.

O que é IEnumerator?

Ele possui dois métodos para implementar a iteração de todos os elementos da coleção. Possui dois métodos que são MoveNext e Reset. MoveNext é um método que indica que a iteração não atingiu o último elemento da coleção.

O método de redefinição faz a mesma coisa que parece. Ele aponta para iniciar novamente a iteração após a iteração anterior ser feita até o último elemento do array. Por último, o único objeto é Atual, que fornece o elemento atual como resultado da iteração. Tem algum acesso específico aos seus elementos. Ele apenas fornece acesso somente leitura a toda a sua matriz.

O IEnumerator chama a propriedade current, que tem a responsabilidade de retornar o elemento da lista que está em uso no momento. Ele usa dois métodos e a propriedade para iteração do objeto. Cada instrução usa a lista de arrays e inicia a iteração avançando e usa um dos métodos. IEnumerator não pode retornar IEnumerable.

Ele pode facilmente recuperar o estado atual do cursor. IEnumerator usa uma forma concreta de escrever. Ele inicia a iteração na pilha iterando o primeiro elemento da pilha e terminando no último elemento da pilha.

Principais diferenças entre IEnumerable e IEnumerator

Conclusões

IEnumerable é uma interface implementada por uma classe enumerável. Ele usa abstração para a iteração de todos os elementos do array. Ele usa um iterador IEnumerator que é usado para a iteração de todos os elementos. O IEnumerator chama a propriedade current, que tem a responsabilidade de retornar o elemento da lista que está em uso no momento.

Ele usa dois métodos e a propriedade para iteração do objeto. IEnumerable é frequentemente conhecido como uma interface genérica, pois o código é escrito muito menor. IEnumerator usa uma forma concreta de escrever. GetEnumerator é um método usado para a implementação da interface IEnumerator.

O processo de iteração torna mais fácil percorrer a coleção em IEnumerable. Ele atua como um objeto. MoveNext é um método que produz um valor booleano que aponta o elemento final da lista. IEnumerable retorna a interface IEnumerator quando passa pelo processo de iteração.

Ambos são usados ​​para o processo de iteração, que segue diferentes formas de iteração. Ele usa um iterador para iterar todos os elementos na matriz da pilha. Eles diferem uns dos outros porque um usa abstração e o outro usa códigos concretos. Ele tem diferentes métodos e propriedades para recuperar o estado do cursor e manter a iteração da pilha.

Diferença entre IEnumerable e IEnumerator (com tabela)