Условна конструкция switch-case
Конструкцията switch-case избира измежду части от програмен код на базата на изчислената стойност на определен израз (най-често цело¬числен). Форматът на конструкцията за избор на вариант е следният:
switch (селектор)
{
case целочислена-стойност-1: конструкция; break;
case целочислена-стойност-2: конструкция; break;
case целочислена-стойност-3: конструкция; break;
case целочислена-стойност-4: конструкция; break;
// …
default: конструкция; break;
}
Селекторът е израз, връщащ като резултат някаква стойност, която може да бъде сравнявана, например число илиstring.
Операторът switch сравнява резултата от селек-тора с всяка една стойност от изброените в тялото на switchконструкцията в case етикетите. Ако се открие съвпа¬дение с някой case етикет, се изпълнява съответната конструкция (проста или съставна). Ако не се открие съвпадение, се изпълнява default конструкцията (когато има такава). Стой¬ността на селектора трябва задължително да бъде изчис¬лена преди да се сравнява със стойностите вътре в switchконструк¬цията. Етикетите не трябва да имат една и съща стойност.
Както се вижда, че в горната дефиниция всеки case завършва с оператора break, което води до преход към края на тялото на switch конструкцията. C# компилаторът задължително изисква да се пише break в края на всяка case-секция, която съдържа някакъв код. Ако след дадена case-конструк¬ция липсва програмен код, break може да бъде пропуснат и тогава изпълнението преминава към следващата case-конструкция и т.н. до срещането на оператор break. След default конструкцията, break е задължителен.
Не е задължително default конструкцията да е на последно място, но е препоръчително да се постави накрая, а не в средата на switch конструкцията.