如何为两个值之间的索引选择case 像
Select Case True
Case ComboBox1.SelectedIndex >= 0 and <= 3
messagebox.show("Done")
End Select
答案 0 :(得分:3)
您的答案在MSDN文档中有关SELECT ... CASE
的内容Dim index = ComboBox1.SelectedIndex
Select Case index
Case 0 To 3
MessageBox.Show("Done")
Case Else
MessageBox.Show("What? Else??")
End Select
修改强>
一个有趣的情况是以下让我没有明确的解释,所以如果有人可以添加到这个答案是很好的接受:假设有这个代码....(和OPTION STRICT OFF)
Sub Main
Dim cbo = new ComboBOx()
cbo.Items.Add("Steve")
cbo.Items.Add("John")
cbo.Items.Add("Mark")
cbo.Items.Add("Andrew")
cbo.Items.Add("Luke")
cbo.Items.Add("Robert")
cbo.Items.Add("Max")
cbo.Items.Add("Carl")
cbo.Items.Add("Paul") ' added 9 items
cbo.SelectedIndex = 0 ' set Steve as selected
Select cbo.SelectedIndex
case cbo.SelectedIndex = 2 to 3
Console.WriteLine("DONE 2-3")
case cbo.SelectedIndex = 0 to 1
Console.WriteLine("DONE 0-1")
case else
Console.WriteLine("ELSE")
End Select
End Sub
我希望DONE 0-1
消息,但是此代码返回DONE 2-3
,以及小于4的每个其他SelectedIndex。仅在将SelectedIndex设置为4时返回ELSE。
除非在2-3之前移动案例块0-1,否则我没有找到返回DONE 0-1的方法。