Оператор switch
забавен, потому что его синтаксис выглядит примерно так:
switch (expression) statement
А здесь statement
может быть любым заявление.Компилятор обрабатывает ключевое слово case
, default
и break
по-разному в области действия switch
, но в противном случае вы можете иметь любой оператор по вашему желанию, включая операторы блока (заключенные в фигурные скобки списки операторов), с чем угодно.want.
Проблема с универсальными операторами вне регистра заключается в том, что они не будут выполнены.Сгенерированный код будет переходить к определенной метке case
(или кейсу default
), пропуская все операторы, которые не являются частью кейса.
Но для этого конкретного случая это, как упомянуто вкомментарий, ложный положительный.Используемая здесь директива using
дает указание компилятору добавить пространство имен foo
к поиску символов, но оно само не создает и не генерирует исполняемый код.