及早结束案件

时间:2012-05-23 14:55:07

标签: vb6 exit select-case

所以我在Vb6中有以下内容;

Select case Case

case "Case0"
...

case "Case1"
  if Condition Then
     Exit Select
  End If
  *Perform action*

case "Case2"
...

End Select

但由于某些原因,我的Exit Select会引发错误Expected: Do or For or Sub or Function or Property。我知道,不漂亮。我应该使用其他东西吗?我可以使用if语句而不是提前退出案例,但这需要重复的代码,我想避免。任何帮助都会非常感激。

更新

尝试将Exit Select更改为End Select并收到错误End Select without Select Case。它绝对在Select CaseEnd Select之内。

6 个答案:

答案 0 :(得分:7)

VB无法退出Select块。 相反,您需要使内容成为条件,可能会反转您的Exit Select条件。

Select case Case 

case "Case0" 
... 

case "Case1" 
  If Not Condition Then 
    *Perform action* 
  End If 

case "Case2" 
... 

End Select 

最终结果完全相同。

答案 1 :(得分:5)

VB6中没有Exit Select语句 - 只有VB.NET

查看Exit Statement的语言参考 - 没有提及Exit Select

最好的选择是将你的select语句重构为一个新的子例程然后只是Exit Sub

答案 2 :(得分:2)

不幸的是,VB6没有可用的Exit Select子句。

这仅适用于VB.NET!

答案 3 :(得分:1)

试试这个

Do
    Select case Case

    case "Case0"
    ...

    case "Case1"
      if Condition Then
         Exit Do
      End If
      *Perform action*

    case "Case2"
    ...

    End Select
Loop While False

编辑:顺便说一句,在这种情况下我会毫不犹豫地使用GoTo(而不仅仅是这个)。

答案 4 :(得分:0)

刚刚发现一些非常琐碎的技巧:

Select case Case 

case "Case0" 
... 

case "Case1" 
  A=A

case "Case2" 
... 

End Selec

答案 5 :(得分:0)

以另一种方式回答这个老问题,您也可以使用 GoTo:

Select case Case

case "Case0"
...

case "Case1" 'you can use not condition as stated

  if Condition Then GoTo Exit_select
  *Perform action*

case "Case2"
...
Exit_select:
End Select