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;
}

...

 


Зв’язані теми