Vezérlési szerkezetek
Szekvencia, elágazás, feltétel nélküli ugrás, ciklusok. Teljesen megegyeznek a C++-ban használatosakkal.
Iterátorok. Az iterátorok segítségével bejárhatjuk egy tömb, gyűjtemény (ICollection), felsorolási típus elemeit, amelyre különböző metódusokat specifikáltak az IEnumerator interfészben:
- IEnumarator* GetEnumerator() - az elemeket tartalmazó objektum példányosít nekünk egy IEnumerator interfészt megvalósító objektumot.
- bool MoveNext() - a rákövetkező elemre lép, és igazat ad vissza, ha sikeres volt a művelet, illetve hamisat, ha nincs több elem.
- __property Object* get_Current() - az aktuális elemre mutató pointert adja vissza. Általában típuskényszerítést kell alkalmazni, mivel a visszatérési érték Object típusú.
Példa:
//a tömb inicializálása
String* vStr = { S"alma", S"barack", S"körte", S"szilva" };
IEnumerator* vektorEnum = vStr->GetEnumerator();
while( vektorEnum->MoveNext() ) {
String* elem = __try_cast<String*>( vektorEnum->Current );
Console::WriteLine( elem );
}