Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Как видите, последний оператор else выполняется лишь в том случае, если не удается выполнить ни один из предыдущих операторов.




Оператор switch

Вторым оператором выбора в C# является оператор switch, который обеспечивает многонаправленное ветвление программы. Следовательно, этот оператор позволяет сделать выбор среди нескольких альтернативных вариантов дальнейшего выполнения программы. Несмотря на то что многонаправленная проверка может быть организована с помощью последовательного ряда вложенных операторов if, во многих случаях более эффективным оказывается применение оператора switch. Этот оператор действует следующим образом. Значение выражения последовательно сравнивается с константами выбора из заданного списка. Как только будет обнаружено совпадение с одним из условий выбора, выполняется последовательность операторов, связанных с этим условием. Ниже приведена общая форма оператора switch.

switch (выражение) { 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.

// Использовать элементы типа char для управления оператором switch.

Using System;

class SwitchDemo2 { static void Main() { char ch;

for(ch='A'; ch<= ' E'; ch++) switch (ch) { case 'A1:

Console.WriteLine("ch содержит A"); break; case 'В':

Console.WriteLine("ch содержит В"); break; case 'С':

Console.WriteLine("ch содержит С"); break; case ' D':

Console.WriteLine("ch содержит D"); break; case 'E':

Console.WriteLine("ch содержит E"); break;

}

}

}





Поделиться с друзьями:


Дата добавления: 2016-12-03; Мы поможем в написании ваших работ!; просмотров: 441 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

2524 - | 2183 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.