Наредба switch¶
У приручнику Увод у програмирање у програмском језику C# погледајте поглавље 7.2 (стране 179-186).
Из претходних лекција знамо да када имамо израз на чије различите вредности треба различито да реагујемо, проблем можемо да решимо надовезаним if наредбама. У специјалном случају, када је вредности израза за које смо заинтересовани најзгодније експлицитно набројати, можемо да користимо и наредбу switch.
Подсетимо се, општи облик ове наредбе је:
switch (izraz) {
case vrednost1:
naredbe1
break;
case vrednost2:
naredbe2
break;
.
.
.
case vrednostk:
naredbek
break;
default:
naredbe0
break;
}
Наредба се извршава тако што се прво израчуна вредност израза, затим се међу набројаним вредностима vrednost1, vrednost2, … vrednostk проналази актуелна вредност израза и извршавају се наредбе наведене после пронађене вредности (до речи break). Ако актуелна вредност израза није међу наведеним, извршавају се наредбе наведене испод речи default.
Приликом писања switch наредбе, реч default и блок наредби после ње могу и да се изоставе. У том случају, ако актуелна вредност израза није међу наведеним, неће бити извршена ни једна наредба.
Реч switch у овом контексту значи скретница или пребацивач (а не прекидач, што је најчешће значење ове речи).
Пример - број:
Написати програм који учитава број од 1 до 5 и исписује тај број словима.
Можемо да употребимо switch наредбу на овај начин:
Приметимо да вредност израза не мора да буде број. Тип вредности која служи као скретница може да буде и знаковни тип (char), било који набројиви тип (enum) па чак и стринг. Могуће је, на пример, написати и овакав програм:
Употребу наредбе switch можете да увежбате на задацима који следе.