Использование очень простого класса с одним методом
Class Bagel{
static [int] SwitchTest([int]$value){
switch ($value){
1 {return $value + 1}
2 {return $value * 2}
default{return 0}
}
}
}
Это не скомпилируется, потому что он получает ошибку с методом SwitchTest
Не все пути кода возвращаютзначение в методе.
Я полностью понимаю, что это значит.Где я нахожусь в тупике, какой путь может привести к сбою?default
должен захватывать любое условие, не соответствующее верно?я могу устранить ошибку, если я изменю ее на следующее:
Class Bagel{
static [int] SwitchTest([int]$value){
switch ($value){
1 {return $value + 1}
2 {return $value * 2}
default{return 0}
}
return -1
}
}
Это выполняется просто отлично.Добавление этого последнего return
кажется бесполезным для меня.Я не думаю, что это ошибка.Просто любопытно, если кто-то может дать мне знать, что я не понимаю по этому поводу.При каких условиях я могу получить последний статический метод для возврата -1?
Этот вопрос говорит о той же проблеме с циклом for
.Я понимаю, почему это не работает.