Конструкцията switch-case
работи като поредица if-else
блокове. Когато работата на програмата ни зависи от стойността на една променлива, вместо да правим последователни проверки с if-else
блокове, можем да използваме условната конструкция switch
. Тя се използва за избор измежду списък с възможности. Конструкцията сравнява дадена стойност с определени константи и в зависимост от резултата предприема действие.
Променливата, която искаме да сравняваме, поставяме в скобите след оператора switch
и се нарича “селектор”. Тук типът трябва да е сравним (числа, стрингове). Последователно започва сравняването с всяка една стойност, която се намира след case
етикетите. При съвпадение започва изпълнението на кода от съответното място и продължава, докато стигне оператора break
. В някои програмни езици (като C и C++) break
може да се изпуска, за да се изпълнява код от друга case
конструкция, докато не стигне до въпросния оператор. В C# обаче, наличието на break
е задължителен за всеки case
, който съдържа изпълнение на програмна логика. При липса на съвпадение, се изпълнява default
конструкцията, ако такава съществува.
switch (селектор)
{
case стойност1:
конструкция;
break;
case стойност2:
конструкция;
break;
case стойност3:
конструкция;
break;
…
default:
конструкция;
break;
}