C#. Оператор выбора switch

Оператор выбора switch


Содержание




1. Какое применение в программе имеет оператор выбора switch?

Оператор выбора switch обеспечивает многонаправленное ветвление в программе. Этот оператор позволяет сделать выбор среди нескольких альтернативных вариантов дальнейшего выполнения программы.

В некоторых случаях оператор выбора switch может иметь более эффективное использование чем использование вложенных операторов if.

 

2. Какой общий вид имеет оператор выбора switch?

Общий вид оператора switch:

switch (выражение)
{
    case константа1:
        операторы1;
    break;
    case константа2:
        операторы2;
    break;

    ...

    case константаN:
        операторыN;
    break;

    ...

    default:
        операторы;
    break;
}

где

  • выражение – заданное выражение целочисленного (char, byte, short, int) типа, перечисления или строчного (string) типа;
  • константа1, константа2, … константаN – константы выбора, тип которых может быть совместим с типом выражения. Среди констант выбора не должно быть двух с одинаковыми значениями;
  • оператор1, оператор2, …, операторN, оператор – последовательность операторов, которые выполняются в случае, если значение константы выбора совпадет со значением выражения.

Если ни одна из констант выбора не совпадает с заданным выражением, то выполняются операторы, которые следуют за словом default.

 

3. Какое назначение блока default в операторе switch?

Операторы, указанные после слова default, выполняются в том случае, если значение выражения не совпадает ни с одной из констант. Блок (ветвь) default не является обязательной.

В случае, если блок default отсутствует в операторе switch и ни одна из констант не совпадает со значением выражения, то никаких действий не выполняется.

 

4. Пример использования оператора switch без использования блока default.

Дано целое число n, указывающее номер дня недели от 1 до 7. По указанному номеру n вывести название соответствующего дня недели.

Фрагмент кода, который решает данную задачу с использованием оператора switch:

int n;

n = 7;

switch (n)
{
    case 1: label1.Text = "Понедельник";
    break;
    case 2: label1.Text = "Вторник";
    break;
    case 3: label1.Text = "Среда";
    break;
    case 4: label1.Text = "Четверг";
    break;
    case 5: label1.Text = "Пятница";
    break;
    case 6: label1.Text = "Суббота";
    break;
    case 7: label1.Text = "Воскресенье";
    break;
}

 

5. Пример использования оператора switch с использованием блока default.

Написать фрагмент программного кода, который за заданным номером месяца n определяет количество дней в этом месяце. Количество дней заносится в переменную k.

...

int n, k;

...

switch (n)
{
    case 2:
        k = 28;
    break;
    case 4: case 6: case 9: case 11:
        k = 30;
    break;
    default:
        k = 31;
    break;
}

...

 


Связанные темы