Switch-setning

Í 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.

 Dæmi 
Eftirfarandi eru dæmi um notkun Switch-setningunar. Ekki má gleyma að hafa break þegar brjótast á út úr setningunni. Ef ekkert af case-setningunum tekur við skilyrðunum í switch() þá tekur default skilyrðið við, ef það er til staðar í forritinu, en því má þó sleppa.

 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;
 }

 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ð.

ATHUGIÐ: 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;
 }

Flokkur:Forritun

ru:Оператор ветвления#Переключатель