Casa Sviluppo Che cos'è un iteratore in c? - definizione da techopedia

Che cos'è un iteratore in c? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa Iteratore?

Un iteratore, nel contesto di C #, è un blocco di codice che restituisce una sequenza ordinata di valori di una raccolta o di un array. È una funzione membro implementata utilizzando il blocco iteratore, che contiene una o più istruzioni contenenti la parola chiave "yield".


Un iteratore viene utilizzato per consentire ai consumatori di una classe contenitore, contenente una raccolta o un array, di attraversare la raccolta utilizzando l'istruzione "foreach" in modo più semplice. Viene utilizzato con classi di raccolta fortemente tipizzate per iterare strutture dati complesse come alberi binari, che richiedono un attraversamento ricorsivo e mantengono lo stato di iterazione attraverso la ricorsione. Il concetto di iteratore viene anche utilizzato nell'implementazione dell'esecuzione differita nelle query LINQ.

Techopedia spiega Iterator

L'iteratore si basa su un modello di progettazione che fornisce un metodo per attraversare gli elementi di una raccolta di elementi in sequenza senza esporre la struttura sottostante della raccolta. Elimina il noioso compito di implementare manualmente l'interfaccia "IEnumerator" durante la creazione di classi di raccolta che supportano l'istruzione "foreach". Il codice del linguaggio intermedio necessario per implementare i metodi e le proprietà dell'interfaccia IEnumerator è generato dal compilatore, il che si traduce in una sintassi più semplice, dimensioni del codice ridotte e miglioramento della produttività degli sviluppatori.


In generale, un iteratore è simile a un cursore del database in quanto fornisce l'accesso agli elementi di dati in una raccolta, ma non esegue l'iterazione. Un iteratore può essere implementato in C # come metodo, operatore o get accessor. Ad esempio, un iteratore può essere utilizzato per attraversare una raccolta di stringhe per visualizzare il contenuto di ciascuna stringa nella raccolta.


Un iteratore è rappresentato dall'interfaccia IEnumerator ed è implementato dal compilatore con i seguenti metodi:

  • MoveNext: un metodo che avanza all'elemento successivo della raccolta e indica la fine di quella raccolta
  • Corrente: una proprietà che recupera il valore dell'elemento attualmente indicato
  • Dispose: pulisce l'iterazione
GetEnumerator () è il metodo iteratore predefinito dell'interfaccia IEnumerable. Questo metodo può essere implementato nella raccolta che contiene la classe container. Il metodo GetEnumerator () viene richiamato all'esecuzione dell'istruzione "foreach", che utilizza l'enumeratore restituito per scorrere i valori. L'istruzione "yield return" viene utilizzata all'interno del blocco iteratore per recuperare un elemento della raccolta. Aiuta anche a posizionare la posizione corrente in modo che l'esecuzione inizi da questa posizione la prossima volta che si verifica. L'istruzione "yield break" termina l'iterazione. Questa definizione è stata scritta nel contesto di C #
Che cos'è un iteratore in c? - definizione da techopedia