Я не уверен, что понимаю вопрос ...
Почему вы не можете просто написать пример кода следующим образом:
Select Case value
Case 1, 2
DoWork()
End Select
Ничего не выполняется, когда value = 0
или value = 3
.Ряд значений, предоставленных для оператора Case
, не обязательно должен быть последовательным.
Обновление в ответ на комментарий:
Я бы написал, чтовот так, воспользовавшись меткой Case Else
:
Select Case myComboBox.SelectedIndex
Case 1, 5, 8
'The suggestion is acceptable, so process it
DoWork()
Case Else
'The suggestion is invalid, so show an error
MessageBox.Show("You cannot select that option. " & _
"Please choose options 1, 5, or 8 instead.", _
"Invalid Selection", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Select
Конечно, если на самом деле у вас нет никакой «работы», которую нужно выполнить в случае, если пользователь выберет правильный Значение , кажется, нет смысла вообще использовать оператор Select Case
.Основное правило должно использовать, в зависимости от того, что делает ваш код наиболее понятным и наиболее простым для понимания.Существует мало обоснованности подозрению, что Select Case
быстрее, чем оператор If
- компилятор достаточно умен, чтобы выдавать практически эквивалентные результаты почти в каждом случае.