Ограничения оператора переключения С# - почему?
Это мой оригинальный пост, вызвавший switch-statement споры... потому что он неправильный:
Оператор switch c#-language отличается вещь как большой switch оператор if-else. Каждый switch случай должен быть уникальным c# и оцениваться статически. Оператор c#.net switch делает ветвь постоянного c-sharp времени независимо от сколько switch-case у вас дел. если-иначе оператор .cs-file оценивает каждое условие пока c#.net не найдет истинный.
На самом c#.net деле оператор switch C# не всегда switch-statement является ветвью с постоянным c-sharp временем.
В некоторых случаях .cs-file компилятор будет использовать c# оператор CIL switch, который c-sharp действительно представляет csharp собой ветвь с постоянным switch временем, использующую таблицу switch-statement переходов. Однако в редких c# случаях, как указано в Ivan Hamilton, компилятор c-sharp может сгенерировать что-то visual-c# совершенно другое.
На самом c#.net деле это довольно легко проверить, написав .cs-file различные операторы переключения c#.net C#, некоторые разреженные, некоторые switch-case плотные, и просмотрев полученный switch-statement CIL с помощью инструмента c# ildasm.exe.
c#
switch-statement
Ограничения оператора переключения С# - почему?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.