System::Collections::Generic::IEnumerator κλάση

IEnumerator class

Διεπαφή του enumerator που μπορεί να χρησιμοποιηθεί για επανάληψη μέσω ορισμένων στοιχείων. Τα αντικείμενα αυτής της κλάσης πρέπει να δημιουργούνται μόνο χρησιμοποιώντας τη συνάρτηση System::MakeObject(). Ποτέ μην δημιουργείτε παράδειγμα αυτού του τύπου στη στοίβα ή χρησιμοποιώντας τον τελεστή new, καθώς θα οδηγήσει σε σφάλματα χρόνου εκτέλεσης και/ή σφάλματα επιβεβαίωσης. Πάντα τυλίξτε αυτήν την κλάση σε δείκτη System::SmartPtr και χρησιμοποιήστε αυτόν τον δείκτη για να τη περάσετε σε συναρτήσεις ως όρισμα.

template<typename T>class IEnumerator : public virtual System::IDisposable,
                                        public System::Details::EnumeratorBasedIterator<T>,
                                        protected System::Details::IteratorPointerUpdater<T, false>
ParameterΠεριγραφή
TΤύπος στοιχείου.

Μέθοδοι

ΜέθοδοςΠεριγραφή
AsVirtualizedIterator()Προετοιμάζει τον επαναλήπτη για χρήση από την κλάση VirtualizedIterator.
CloneIterator() const overrideΚλωνοποιεί τον τρέχοντα επαναλήπτη.
virtual Current() constΕπιστρέφει το τρέχον στοιχείο.
virtual get_Current() constΕπιστρέφει το τρέχον στοιχείο.
IEnumerator()
IncrementIterator() overrideΜετακινεί τον επαναλήπτη ένα βήμα προς τα εμπρός.
InitializeIterator() overrideΚάνει την πρώτη κλήση του MoveNext() και προετοιμάζει το αντικείμενο enumerator για χρήση από το VirtualizedIterator.
MarkOwnedByVirtualizedIterator()Σημειώνει τον enumerator που ανήκει στον virtualized iterator.
virtual MoveNext()Μετακινεί τον απαριθμητή στο επόμενο στοιχείο. Εάν δεν έχει αναφερθεί προηγουμένως κανένα στοιχείο, ορίζει την αναφορά στο πρώτο διαθέσιμο στοιχείο. Εάν φτάσει στο τέλος του κοντέινερ, δεν κάνει τίποτα.
virtual Reset()Επαναφέρει τον enumerator στη θέση πριν το πρώτο στοιχείο.
virtual ~IEnumerator()

Typedefs

TypedefΠεριγραφή
ValueTypeΤύπος τιμής.

Παρατηρήσεις

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

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

int main()
{
  // Δημιουργήστε την παρουσία της κλάσης List.
  auto collection = MakeObject<List<int>>();

  // Γεμίστε τη λίστα.
  collection->Add(1);
  collection->Add(2);
  collection->Add(3);

  // Αποκτήστε τον απαριθμητή της λίστας.
  auto enumerator = collection->GetEnumerator();

  while (enumerator->MoveNext())
  {
    // Αποκτήστε το τρέχον στοιχείο και εκτυπώστε το.
    std::cout << enumerator->get_Current() << ' ';
  }

  // Επαναφέρετε τον απαριθμητή.
  enumerator->Reset();

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

Δείτε επίσης