Skip to content

Оператор switch-case

Оператор switch используется для выбора одного из нескольких блоков кода на основе значения переменной. В качестве аргумента (value) могут использоваться значения следующих типов: sbyte, short, int, byte, ushort, uint (long, ulong и остальные типы не поддерживаются).

switch (value)
{
  case Константа1:
    // Блок кода для Константа1
    break;

  case Константа2:
    // Блок кода для Константа2
    break;

  default:
    // Блок кода по умолчанию
    break;
}
Каждый case должен завершаться оператором break, если не требуется переход к следующему случаю.
Оператор switch удобен для реализации конечных автоматов, выбора режимов работы и других задач, где поведение зависит от значения переменной.

Пример

void loop()
{
  byte state = 2;

  switch (state)
  {
    case 0:
      // состояние 0
      break;

    case 1:
      // состояние 1
      break;

    case 2:
      // состояние 2
      break;

    default:
      // другое состояние
      break;
  }
}