【问题标题】:vb .net, select statement, defaultvb .net,选择语句,默认
【发布时间】:2012-12-05 09:48:12
【问题描述】:

在 C 中,我可以将 default 分配给一些现有的 switch 条目:

switch(c) {

default :
case 1:

       break;

case 2 :


      break;   

}

在VB的select语句中是否有类似的可能性?

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    使用case Else,和c的默认值一样 语法:

    Select [ Case ] testexpression
        [ Case expressionlist
            [ statements ] ]
        [ Case Else
            [ elsestatements ] ]
    End Select
    

    例如

    creamcake = TextBox1.Text
    
    Select Case creamcake
    
    Case "Eaten"
    DietState = "Diet Ruined"
    Case "Not Eaten"
    DietState = "Diet Not Ruined"
    Case Else
    DietState = "Didn't check"
    End Select
    

    如果您想分配多个案例 那么例子

    Select Case agerange
    
    Case 16 To 21
    MsgBox “Still Young”
    Case 50 To 64
    MsgBox “Start Lying”
    
    End Select
    

    【讨论】:

    • 好的,我注意到了,但我希望将“case else”条目分配给与示例中的“case Easten”相同的代码。这可能吗?
    • @user1797147: 如果你想和 Else 一起使用,那么就不要使用 case"eaten" 。只需删除它,它会自动转到 else 部分
    • 所以在 VB 中如果没有“case else”只会落在第一个条目中?
    • 我也在寻找同样的东西。我们在这里所拥有的基本上只是一种语法偏好。当然,如果你只是省略“吃”,它只会落入 Else 部分。但是为了清楚起见,如果您希望正在处理您的代码的其他人阅读“吃掉”属于 Else 部分的故意行为,那么像 `Case "Eaten", Else` 这样的语法会很有用。就我而言,我通过让“Eaten”落入 Else 部分并添加一行注释来解决这个问题 ' ' Case "Eaten" /跨度>
    【解决方案2】:
    Select Object.Name.ToString()
        Case "Name1"
            'Do something
        Case "Name2"
            'Do something else
        Case Else
            'Do the default action
    End Select
    

    这个问题与VB.NET Select...Case Statement Equivalent in C#正好相反

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-25
      • 2017-12-18
      • 2020-10-18
      • 1970-01-01
      相关资源
      最近更新 更多