Switch-setning
Úr Wikipediu, frjálsa alfræðiritinu
Í tölvuforritun, er Switch-setning skilyrðissetning notuð í flestum nútíma forritunarmálum (eins og C, C++, C# og Java). Tilgangur hennar er að leyfa gildi breytu eða segð að stjórna inningarröð forrita. Til eru setningar í öðrum forritunarmálum sem eru setningafræðilega öðruvísi en þjóna sama tilgangi hugtakslega og kallast þær case-setning eða select-setning.
[breyta] Dæmi
Eftirfarandi eru dæmi um notkun Switch-setningunar. Ekki má gleyma að hafa break ef brjótast á út úr setningunni. Ef ekkert af case-setnignunum tekur við skilyrðinum í swich() þá tekur deafult við, ef hún er til staðar í forritinu en henni má samt alltaf sleppa.
[breyta] C
switch(n) {
case 0:
printf("Þú skrifaðir núll.\n");
break;
case 3:
case 5:
case 7:
printf("n er frumtala\n");
break;
case 2: printf("n er frumtala\n");
case 4:
case 6:
case 8:
printf("n er slétt tala\n");
break;
case 1:
case 9:
printf("n er fullkominn þríhyrningur\n");
break;
default:
printf("Aðeins ein tala er leyfileg\n");
break;
}
[breyta] C#
C# notar staðlaða C-málfræði í setningunni og bætir við þeim eiginleika að nota „goto case“-setningu. Það er einnig hægt að nota strengi. Það er þó ekki leyfilegt að keyra alla setninguna í gegn þegar kóðinn er vistþýddur, því eru aðrar setningar notaðar (eins og break eða goto) til að koma í veg fyrir það.
ATHUGA: Tómar case-setningar þurfa ekki að notast við goto-setninguna. Þær leyfa ekki gegnumkeyrslu í Switch-setningunni.
switch (HeiltöluBreyta)
{
case 0:
goto case 1; // fer í case 1
case 1:
return 1; // skilar ef HeiltöluBreyta er annaðhvort 0 eða 1
case 2:
someInteger++; // bætir einum við HeiltöluBreyta og fer í case 3
goto case 3;
case 3:
EinhverAðgerð(); // framkvæmir aðgerðina EinhverAðgerð og brýst svo úr setningunni
break;
default:
EinhverÖnnurAðgerð();
break;
}

