【问题标题】:Multiple select cases in VB.NETVB.NET 中的多个选择案例
【发布时间】:2012-12-07 21:08:03
【问题描述】:

我尝试了以下方法:

Select Case Combo1.SelectedItem Or Combo2.SelectedItem

但我得到了错误:

Conversion from String "string here" to type 'Long' is not valid

是否可以有多个选择案例?

【问题讨论】:

  • .SelectedItem 不是布尔值

标签: vb.net visual-studio-2008 select-case


【解决方案1】:

您使用逗号分隔多个值:

Case Combo1.SelectedItem, Combo2.SelectedItem

使用Or 将使其成为一个表达式,在与Select 中的值进行比较之前对其进行评估。

如果您在Select 中的值是Long 值,那么您可能需要从控件转换字符串:

Case CLng(Combo1.SelectedItem), CLng(Combo2.SelectedItem)

要直接解决问题,不可能在选择中使用多个值作为测试表达式:

Select Case v1, v2 'Not possible

【讨论】:

  • Dim test As String Select Case Combo1.SelectedItem,combo2.SelectedItem Case "1" test= "ND1" Case "2" test= "D1" Case "3" test= "ND2" Case Else Return Nothing End Select Return test
  • @user1295053:啊哈,您正在尝试使用多个值作为测试表达式,而不是在一个案例中。对困惑感到抱歉。这是不可能的。
  • 嗯,好的。感谢您的帮助。
【解决方案2】:

您好谷歌搜索并看到这个问题没有答案。经过进一步研究,我发现这可以满足我的目的。

基本上,您可以从:

选择大小写为真

那么每个case语句可以是两个变量的组合。当两者都满足时,情况为真,将执行适当的代码。

https://forums.asp.net/t/611892.aspx?To+do+a+select+case+using+two+variables+or+parameters

【讨论】:

    【解决方案3】:
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim i, j As Integer
        Dim value As Integer
    
        For i = 1 To 3
            For j = 1 To 5
                value = (GetCode(i, j))
                TextBox1.Text = TextBox1.Text & "i=" & i & "->j=" & j & "=" & value & vbCrLf
            Next
        Next
    End Sub
    Function GetCode(ByVal v1 As Integer, ByVal v2 As Integer) As Integer
        Dim retval As Integer
        Dim forselect As String
        forselect = v1 & v2
        Select Case forselect
            Case 11
                retval = 11
            Case 12
                retval = 12
            Case 13
                retval = 13
            Case 14
                retval = 14
            Case 15
                retval = 15
            Case 21
                retval = 21
            Case 22
                retval = 22
            Case 23
                retval = 23
            Case 24
                retval = 24
            Case 25
                retval = 25
            Case 31
                retval = 31
            Case 32
                retval = 32
            Case 3, 3
                retval = 33
            Case 34
                retval = 34
            Case 35
                retval = 35
    
    
        End Select
    
        Return retval
    End Function
    

    【讨论】:

      猜你喜欢
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-09
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      • 2017-09-09
      相关资源
      最近更新 更多