
- •1.Структура программы
- •1.1. Типы данных
- •1.1.1. Целые типы
- •1.1.2. Дробные (вещественные) типы
- •1.1.3. Логический тип
- •1.1.4. Строковый тип
- •1.1.5. Арифметические операторы
- •1.1.6. Нечисловые простые типы
- •1.1.7. Текстовые типы
- •2. Операторы ввода/вывода
- •2.1. Операторы ввода
- •2.2. Операторы вывода
- •2.3. Форматированный вывод
- •3. Логические выражения
- •3.1. Операции сравнения
- •3.2.1.Поразрядные операции » и «
- •3.2.2.Булевские операции присваивания
- •4.Ветвления
- •4.1. Тернарная операция
- •4.2.1. Оператор if
- •4.2.1. Внутристроковый условный оператор
- •4.3.1. Оператор switch
- •5. Организация циклов
- •5.1.Циклы do
- •5.2. Циклы while
- •5.3. Циклы for
- •5.4. Прерывание циклов
- •5.5. Бесконечные циклы
- •6. Преобразование типов
- •6.1. Неявное преобразование
- •6.2. Явное преобразование
- •6.3. Явные преобразования с помощью команд Convert
- •7. Массивы
- •7.1. Объявление массива
- •7.2 Циклы foreach
- •7.3. Многомерные массивы
- •7.4. Массивы массивов
- •8.Строки
- •8.Структуры (доделать)
- •9.Функции и процедуры
- •10.Метод Main()
- •11.Работа с файлы
- •12.Обработка ошибок и исключений(try.. .Catch.. .Finally)
4.3.1. Оператор switch
Оператор выбора switch используется для выполнения блоков кода для заранее определённых значений ключа. Ключ в оператореswitch может быть целого типа, символ, строка, логический. Чаще всего конструкциюswitch применяют для выбора действий при разборе списка событий, таких, как коды нажатия клавиш, например в играх. Аналогично приведенной ниже многоступенчатой конструкции оператораif можно использовать конструкциюswitch. Преимуществом оператораifявляется то, что можно использовать любое логическое выражение, но операторswitch может оказаться более наглядным и удобным при большом количестве вариантов ветвления.
if (условие)
оператор;
else if (условие)
оператор;
else if (условие)
оператор;
else if (условие)
оператор;
...
else
оператор;
Конструкция switch:
switch (выражение)
{
case константа1:
операторы;
break;
case константа2:
операторы;
break;
case константа3:
case константа4:
операторы;
break;
//...
default:
операторы;
break;
}
Константы после служебного слова case не должны повторяться в текущем оператореswitch. Каждый блок операторов заканчивается словомbreak илиgoto. Операторgoto может передать управление указанному блокуcase. Если ни одна из констант блоковcase не соответствует значению выраженияswitch, то выполняется блок операторовdefault. Если блокаdefault нет, то управление передаётся операторам, следующим после блокаswitch. Если в блокеcaseнет операторов, то его действие «проваливается» к следующему (допустимо только для пустых блоков), в таком случае один набор операторов используется для списка значений.Ниже, в программеProgram5 приведён пример выбора действия в зависимости от нажатой клавиши:
using System;
class Program5
{
static void Main()
{
Console.WriteLine("Нажмите клавишу управления курсором:");
ConsoleKeyInfo key;
key = Console.ReadKey(true);
switch (key.Key)
{
case ConsoleKey.UpArrow:
Console.WriteLine("Вы нажали стрелку вверх!");
break;
case ConsoleKey.DownArrow:
Console.WriteLine("Вы нажали стрелку вниз!");
break;
case ConsoleKey.LeftArrow:
Console.WriteLine("Вы нажали стрелку влево!");
break;
case ConsoleKey.RightArrow:
Console.WriteLine("Вы нажали стрелку вправо!");
break;
default:
Console.WriteLine("Вы нажали другую клавишу :)");
break;
}
Console.Write("Нажмите любую клавишу для завершения...");
Console.ReadKey(true);
}
}
5. Организация циклов
Организация циклов подразумевает повторяющееся выполнение операторов. Эта
методика является очень полезной, поскольку позволяет делать так, чтобы
необходимые операции выполнялись повторно столько, сколько требуется раз, без повторного написания одного и того же кода снова и снова.