case константа1:

последовательность операторов break; case константа2:

последовательность операторов break; case константаЗ:

последовательность операторов break;

default:

последовательность операторов break;

}

Заданное выражение в операторе switch должно быть целочисленного типа (char, byte, short или int), перечислимого или же строкового. (О перечислениях и символьных строках типа string речь пойдет далее в этой книге.) А выражения других типов, например с плавающей точкой, в операторе switch не допускаются. Зачастую выражение, управляющее оператором switch, просто сводится к одной переменной. Кроме того, константы выбора должны иметь тип, совместимый с типом выражения. В одном операторе switch не допускается наличие двух одинаковых по значению констант выбора.

Последовательность операторов из ветви default выполняется в том случае, если ни одна из констант выбора не совпадает с заданным выражением. Ветвь default не является обязательной. Если же она отсутствует и выражение не совпадает ни с одним из условий выбора, то никаких действий вообще не выполняется. Если же происходит совпадение с одним из условий выбора, то выполняются операторы, связанные с этим условием, вплоть до оператора break.

Ниже приведен пример программы, в котором демонстрируется применение оператора switch.

// Продемонстрировать применение оператора switch.

using System;

class SwitchDemo { static void Main() { int i;

for(i=0; i<10; i++) switch(i)    {

case 0:

Console.WriteLine('i равно нулю'); break; case 1:

Console.WriteLine('i равно единице'); break; case 2:

Console.WriteLine('i равно двум'); break; case 3:

Console.WriteLine('i равно трем'); break; case 4:

Console.WriteLine ('i равно четырем'); break;

default:    (

Console.WriteLine('i равно или больше пяти'); break;

}

}

}

Результат выполнения этой программы выглядит следующим образом.

i

равно

нулю.

i

равно

единице.

i

равно

двум.

i

равно

трем.

i

равно

четырем.

i

равно

или больше

пяти

i

равно

или больше

пяти

i

равно

или больше

пяти

i

равно

или больше

пяти

i

равно

или больше

пяти

Как видите, на каждом шаге цикла выполняются операторы, связанные с совпадающей константой выбора, в обход всех остальных операторов. Когда же значение

переменной i становится равным или больше пяти, то оно не совпадает ни с одной из констант выбора, а следовательно, выполняются операторы из ветви default.

В приведенном выше примере оператором switch управляла переменная i типа int. Как пояснялось ранее, для управления оператором switch может быть использовано выражений любого целочисленного типа, включая и char. Ниже приведен пример применения выражения и констант выбора типа char в операторе switch.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату