System::Collections::Generic::IEnumerator clase
IEnumerator class
Interfaz del enumerador que puede usarse para iterar a través de algunos elementos. Los objetos de esta clase solo deben asignarse usando la función System::MakeObject(). Nunca cree una instancia de este tipo en la pila o usando el operador new, ya que provocará errores en tiempo de ejecución y/o fallas de aserción. Siempre envuelva esta clase en un puntero System::SmartPtr y use ese puntero para pasarlo a funciones como argumento.
template<typename T>class IEnumerator : public virtual System::IDisposable,
public System::Details::EnumeratorBasedIterator<T>,
protected System::Details::IteratorPointerUpdater<T, false>
| Parámetro | Descripción |
|---|
| T | Tipo de elemento. |
Métodos
| Método | Descripción |
|---|
| AsVirtualizedIterator() | Prepara el iterador para ser usado por la clase VirtualizedIterator. |
| CloneIterator() const override | Clona el iterador actual. |
| virtual Current() const | Obtiene el elemento actual. |
| virtual get_Current() const | Obtiene el elemento actual. |
| IEnumerator() | |
| IncrementIterator() override | Mueve el iterador un paso adelante. |
| InitializeIterator() override | Realiza la primera llamada a MoveNext() y prepara el objeto enumerador para ser usado por VirtualizedIterator. |
| MarkOwnedByVirtualizedIterator() | Marca el enumerador perteneciente al iterador virtualizado. |
| virtual MoveNext() | Mueve el enumerador al siguiente elemento. Si no se había referenciado ningún elemento antes, establece la referencia al primer elemento disponible. Si se alcanza el final del contenedor, no hace nada. |
| virtual Reset() | Restablece el enumerador a la posición anterior al primer elemento. |
| virtual ~IEnumerator() | |
Typedefs
Observaciones
#include <system/collections/list.h>
#include <system/smart_ptr.h>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
// Crea la instancia de la clase List.
auto collection = MakeObject<List<int>>();
// Llena la lista.
collection->Add(1);
collection->Add(2);
collection->Add(3);
// Obtenga el enumerador de la lista.
auto enumerator = collection->GetEnumerator();
while (enumerator->MoveNext())
{
// Obtenga el elemento actual e imprímalo.
std::cout << enumerator->get_Current() << ' ';
}
// Restablezca el enumerador.
enumerator->Reset();
return 0;
}
/*
This code example produces the following output:
1 2 3
*/
Ver también