Utasítások, vezérlési szerkezetek
A vezérlési szerkezetek - blokkok, elágazások, ciklusok - szintaktikája megegyezik a C++-ban,
illetve a C#-ban megszokottakkal.
A feltételek típusa boolean, nem pedig integer. Feltétel nélküli vezérlésáttadó utasítás nincs a nyelvben.
Értékadás, üres utasítás
Mint C++ -ban. Az utasítás végét mindíg pontosvesszővel kell lezárni.Több utasítás lehet egy soron belül.
Szekvencia utasítások egymástól ";" -vel elválasztva.
Elágazás
if (feltétel)
{
utasítas1;
}
else
{
utítás2;
}
Egy utasítás esetén nem kötelező kitenni a kapcsos zárójeleket.
Egyszerű feltétel teljesülés esetén végrehajtandó ág leírható "else" nélkül is.
A feltétel tetszőlegesen összetett logikai feltétel lehet. A nyelvben nincs elseif kifejezés,
helyette használható ez az alak:
else if(feltétel1)
{
utasítások1;
}
else if(feltétel2)
{
utasítások2;
}
Lényegében itt egymásba ágyazott elágazásokról van szó.
switch (kifejezés)
{
case konstans_kif1:
{
utasítások1;
break;
}
case konstans_kif2:
{
utasítások2;
break;
}
case konstans_kif3:
{
utasítások3;
break;
}
default:
{
utasítások4;
break;
}
}
A switch szerkezettel többszörös elágazás valósítható meg.
A kifejezés típusa numerikus, string, esetleg enum típusú lehet.
A futás ahhoz a case blokkhoz kerül, ahol a kifejezés megegyezik a megadott konstans kifejezéssel.
A blokk végrehajtása végén található break; utasítás meggátolja a következő blokk végrehajtását.
For ciklus
for([init_rész],[kifejezés],[léptetés])
{
utasítás/blokk;
}
A for utasítás a ciklus megvalósításának egy lehetséges módja. Az inicialízációs részben kell a változót kezdeti értékre állítani.
A ciklus addig tart, amíg a kifejezés értéke hamis nem lesz. Futtatási sorrend: init_rész, kifejezés kiértékelés, ha igaz
akkor végrehajtásra kerül az utasítás blokk, majd a léptetés, és végül a kifejezés kiértékelésétől függő ismétlés történik.
Abban az esetben, ha egy enumerálható listának a bejárására van szükség, akkor
használható az enumerator, mely alkalmazása igen közel áll más nyelvekben
megszokott forEach utasításhoz. A ciklusmagban található egy kitüntetett szerepű változó, mely mindíg az aktuális
elemet tartalmazza. Ez a változó nem módosítható illetve nem adható át ref, valamint out paraméterként.
Első lépésként meghívásra kerül a végigjárandó osztály GetEnumator() függvénye, ami visszaad egy bejárót.
Például:
Enumerator e = list.GetEnumerator();
A visszakapott bejáró felhasználásával pedig végigiterálható a kollekció.
while(e.MoveNext())
{
object obj = e.Current;
DoSomething(obj);
}
while(feltétel)
{
utasítások
}
A while utasítással lehet az elől tesztelő ciklust megvalósítani. Hasonlóan a for ciklushoz, ha nem igaz a feltétel, akkor
többet már nem fut le a ciklusmag. A while konstrukció hátultesztelős formája a "do-while" egyszer mindenképp lefut.
VezérlésVezérlésátadó utasítások, sem pedig erőforrást felszabadító utasítások nem találhatóak a nyelvben.
Kivétel kezelő szerkezet Try - Catch alkalmazásával
Azon kódrészletek "megfigyelésére" és "hibakezelésére" való, melyekben Exception léphet fel.
try
{
utasítások;
}
catch( típus [név] )
{
}
Több Catch() ág lehet, ezeknek az elkapni kívánt kivétel típusában kell különbözniük.
A más nyelvekbe megszokott finally rész hiányzik a nyelvből.
A feltétel nélküli vezérlésáttadó utasítás "goto" hiányzik a nyelv
eszközkészletéből.