System::Collections::Generic::IEnumerator sınıfı

IEnumerator class

Bazı öğeler üzerinde yineleme yapmak için kullanılabilecek bir enumerator arayüzü. Bu sınıfın nesneleri yalnızca System::MakeObject() işlevi kullanılarak tahsis edilmelidir. Bu tipin örneğini yığına (stack) ya da operator new ile asla oluşturmayın, çünkü çalışma zamanı hatalarına ve/veya doğrulama hatalarına yol açar. Bu sınıfı her zaman System::SmartPtr işaretçisine sarmalayın ve bu işaretçiyi fonksiyonlara argüman olarak geçirin.

template<typename T>class IEnumerator : public virtual System::IDisposable,
                                        public System::Details::EnumeratorBasedIterator<T>,
                                        protected System::Details::IteratorPointerUpdater<T, false>
ParametreAçıklama
TEleman tipi.

Yöntemler

YöntemAçıklama
AsVirtualizedIterator()İteratörü VirtualizedIterator sınıfı tarafından kullanılmak üzere hazırlar.
CloneIterator() const overrideMevcut yineleyiciyi klonlar.
virtual Current() constGeçerli öğeyi alır.
virtual get_Current() constGeçerli öğeyi alır.
IEnumerator()
IncrementIterator() overrideYineleyiciyi bir adım ileri hareket ettirir.
InitializeIterator() overrideİlk MoveNext() çağrısını yapar ve enumeratör nesnesini VirtualizedIterator tarafından kullanılmak üzere hazırlar.
MarkOwnedByVirtualizedIterator()Sanal yineleyiciye ait enumeratörü işaretler.
virtual MoveNext()Enumerator’ı bir sonraki elemana taşır. Daha önce bir elemana referans verilmemişse, referansı mevcut ilk elemana ayarlar. Eğer konteyner sonuna gelinmişse, hiçbir şey yapmaz.
virtual Reset()Enumeratörü ilk öğeden önceki konuma sıfırlar.
virtual ~IEnumerator()

Typedefs

TypedefAçıklama
ValueTypeDeğer türü.

Açıklamalar

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

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

int main()
{
  // List sınıfı örneğini oluştur.
  auto collection = MakeObject<List<int>>();

  // Listeyi doldur.
  collection->Add(1);
  collection->Add(2);
  collection->Add(3);

  // Listenin enumeratörünü al.
  auto enumerator = collection->GetEnumerator();

  while (enumerator->MoveNext())
  {
    // Mevcut öğeyi al ve yazdır.
    std::cout << enumerator->get_Current() << ' ';
  }

  // Enumeratörü sıfırla.
  enumerator->Reset();

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

Ayrıca Bakınız