System::Collections::Generic::IEnumerator class
IEnumerator class
Gränssnitt för enumerator som kan användas för att iterera genom vissa element. Objekt av denna klass bör endast allokeras med System::MakeObject() funktionen. Skapa aldrig en instans av denna typ på stacken eller med operatorn new, eftersom det kan leda till körfel och/eller påståendefel. Wrappa alltid denna klass i en System::SmartPtr pekare och använd denna pekare för att skicka den till funktioner som argument.
template<typename T>class IEnumerator : public virtual System::IDisposable,
public System::Details::EnumeratorBasedIterator<T>,
protected System::Details::IteratorPointerUpdater<T, false>
| Parameter | Beskrivning |
|---|
| T | Elementtyp. |
Metoder
| Metod | Beskrivning |
|---|
| AsVirtualizedIterator() | Förbereder iteratorn för att användas av VirtualizedIterator-klassen. |
| CloneIterator() const override | Klonar aktuell iterator. |
| virtual Current() const | Hämtar aktuellt element. |
| virtual get_Current() const | Hämtar aktuellt element. |
| IEnumerator() | |
| IncrementIterator() override | Flyttar iteratorn ett steg framåt. |
| InitializeIterator() override | Utför det första MoveNext()-anropet och förbereder enumeratorobjektet för att användas av VirtualizedIterator. |
| MarkOwnedByVirtualizedIterator() | Markerar enumeratorn som ägs av den virtualiserade iteratorn. |
| virtual MoveNext() | Flyttar enumerator till nästa element. Om inget element har refererats tidigare, sätts referensen till det första tillgängliga elementet. Om behållarens slut nås, gör den ingenting. |
| virtual Reset() | Återställer enumerator till positionen före det första elementet. |
| virtual ~IEnumerator() | |
Typedefs
Anmärkningar
#include <system/collections/list.h>
#include <system/smart_ptr.h>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
// Skapa en instans av List-klassen.
auto collection = MakeObject<List<int>>();
// Fyll listan.
collection->Add(1);
collection->Add(2);
collection->Add(3);
// Hämta uppräkaren för listan.
auto enumerator = collection->GetEnumerator();
while (enumerator->MoveNext())
{
// Hämta det aktuella elementet och skriv ut det.
std::cout << enumerator->get_Current() << ' ';
}
// Återställ uppräkaren.
enumerator->Reset();
return 0;
}
/*
This code example produces the following output:
1 2 3
*/
Se även