System::Collections::Generic::IEnumerator class

IEnumerator class

Interfaccia dell’enumeratore che può essere usata per iterare attraverso alcuni elementi. Gli oggetti di questa classe devono essere allocati solo usando la funzione System::MakeObject(). Non creare mai un’istanza di questo tipo sullo stack o usando l’operatore new, poiché ciò provocherà errori di runtime e/o fallimenti di asserzione. Avvolgi sempre questa classe in un puntatore System::SmartPtr e usa questo puntatore per passarla alle funzioni come argomento.

template<typename T>class IEnumerator : public virtual System::IDisposable,
                                        public System::Details::EnumeratorBasedIterator<T>,
                                        protected System::Details::IteratorPointerUpdater<T, false>
ParametroDescrizione
TTipo di elemento.

Metodi

MetodoDescrizione
AsVirtualizedIterator()Prepara l’iteratore per essere usato dalla classe VirtualizedIterator.
CloneIterator() const overrideClona l’iteratore corrente.
virtual Current() constRestituisce l’elemento corrente.
virtual get_Current() constRestituisce l’elemento corrente.
IEnumerator()
IncrementIterator() overrideSposta l’iteratore di un passo avanti.
InitializeIterator() overrideEsegue la prima chiamata a MoveNext() e prepara l’oggetto enumeratore per essere usato da VirtualizedIterator.
MarkOwnedByVirtualizedIterator()Segna l’enumeratore posseduto dall’iteratore virtualizzato.
virtual MoveNext()Sposta l’enumeratore al prossimo elemento. Se non è stato referenziato alcun elemento prima, imposta il riferimento al primo elemento disponibile. Se è stato raggiunto la fine del contenitore, non fa nulla.
virtual Reset()Reimposta l’enumeratore alla posizione precedente al primo elemento.
virtual ~IEnumerator()

Typedefs

TypedefDescrizione
ValueTypeTipo valore.

Osservazioni

#include <system/collections/list.h>
#include <system/smart_ptr.h>

using namespace System;
using namespace System::Collections::Generic;

int main()
{
  // Crea l'istanza della classe List.
  auto collection = MakeObject<List<int>>();

  // Riempie la lista.
  collection->Add(1);
  collection->Add(2);
  collection->Add(3);

  // Ottieni l'enumeratore della lista.
  auto enumerator = collection->GetEnumerator();

  while (enumerator->MoveNext())
  {
    // Ottieni l'elemento corrente e stampalo.
    std::cout << enumerator->get_Current() << ' ';
  }

  // Reimposta l'enumeratore.
  enumerator->Reset();

  return 0;
}
/*
This code example produces the following output:
1 2 3
*/

Vedi anche