Swift только по-настоящему проверяет, что блок switch
является исчерпывающим при работе с типами enum
. Даже для включения Bool
в дополнение к true
и false
требуется блок default
:
var b = true
switch b {
case true: println("true")
case false: println("false")
}
// error: switch must be exhaustive, consider adding a default clause
. Однако с enum
компилятор рад видеть только два случая:
enum MyBool {
case True
case False
}
var b = MyBool.True
switch b {
case .True: println("true")
case .False: println("false")
}
Если вам нужно включить блок default
для компилятора, но у него ничего не получится, ключевое слово break
будет полезно:
var b = true
switch b {
case true: println("true")
case false: println("false")
default: break
}
Если вы говорите о <compilation debug="true">
, значит, вам не нужно перестраивать свое решение / проект.
Речь идет о компиляции ASP.NET, а не о вашей обычной компиляции проекта. Каждый раз, когда приложение ASP.NET запускается, если оно не было опубликовано до его компиляции, ядро ASP.NET будет компилировать ваши пользовательские элементы управления, код с выделенным кодом и другие области вашего веб-приложения во время первого запроса к вашему веб-сайту.