И для удобочитаемости и для смысла используют оператор переключения вместо загрузок операторов IF.
оператор переключения немного быстрее хотя:
http://www.blackwasp.co.uk/SpeedTestIfElseSwitch.aspx (сначала пораженный в Google)
компилятор может оптимизировать оператор переключения так использование, что, если бы у Вас есть больше, чем, я сказал бы, 3 или 4 различных случая
Что Вы включаете? При включении строки компилятор C# или преобразовывает ее в словарь или в серию если/еще проверки. То, которое будет быстрее, зависит от рассматриваемых строк (включая строку кандидата).
, Если Вы включаете интегральное значение, я полагаю, что компилятор C# всегда использует оператор переключения IL - но это может или не может быть быстрее, чем, если/еще последовательность в зависимости от значений включила. (Если они находятся в большом непрерывном блоке, CLR может просто перейти к правильному месту в таблице - если они являются очень разрозненными, я подозреваю, что это не помогает.)
это просто неактивный запрос, или Вы действительно микрооптимизируете на этом уровне? Любое различие в производительности будет незначительным в подавляющем большинстве случаев - пишут для удобочитаемости.
Это - больше вопрос стиля, чем производительность. Любое различие в производительности будет neglibible, по-моему. Кроме того, см. https://stackoverflow.com/questions/395618/ifelse-vs-switch.
Если Вы используете интервал/строку/и т.д., то switch
имеет некоторые более сложные опции перехода, которые могли бы сделать switch
более эффективный, если у Вас есть много условий. Однако разница, вероятно, не будет огромна, и switch
не опция для всех типов (только основанный на целом числе, и строка).
Я считал, что операторы переключения могут быть немного быстрее.
При обращении к проблемам производительности необходимо измерить различие с помощью реалистических данных. То, что Вы спрашиваете это со спекулятивной точки зрения, предлагает, чтобы у Вас не было фактической проблемы производительности для контакта с, и поэтому необходимо волноваться, о котором больше читаемое/удобное в сопровождении
Хитрый, необходимо было бы запустить тесты, потому что if's и переключатели приводит к другому коду IL.
можно было бы надеяться, что они были идентичны.