kur*_*ura 4 vb.net switch-statement select-case conditional-statements
如何在下面的选择案例中添加Not条件.
<>适用于单个值,"To"适用于Range,但值是特定值,不存在一系列数字.在这种情况下是否可以使用select case,或者我必须切换到if-else.例如:我不希望在值为0和3时执行大小写
Select value
case 0,1,2,3
End Select
Run Code Online (Sandbox Code Playgroud)
Cod*_*ray 11
我不确定我理解这个问题......
为什么你不能像这样编写示例代码:
Select Case value
Case 1, 2
DoWork()
End Select
Run Code Online (Sandbox Code Playgroud)
当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
Run Code Online (Sandbox Code Playgroud)
当然,如果在用户选择正确值的情况下实际上没有任何"工作"要做,那么使用Select Case语句似乎没什么意义.基本规则应该是使用哪个使您的代码最清晰,最容易理解.对于Select Case比If声明更快的怀疑几乎没有效力- 编译器足够聪明,几乎在每种情况下都能产生几乎相同的结果.