6

所以我在 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 SelectEnd Select并得到错误End Select without Select Case。它肯定在 aSelect Case和 a之内End Select

4

6 回答 6

7

VB 没有退出Select块的功能。相反,您需要使内容有条件,可能会反转您的Exit Select条件。

Select case Case 

case "Case0" 
... 

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

case "Case2" 
... 

End Select 

这将具有完全相同的最终结果。

于 2012-05-23T16:07:13.253 回答
5

VB6中没有Exit SelectStatement - 只有 VB.NET

查看退出声明的语言参考-没有提及Exit Select

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

于 2012-05-23T15:38:11.603 回答
2

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

这仅在 VB.NET 中可用!

于 2012-05-23T15:37:39.030 回答
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在这种情况下使用(不仅如此)。

于 2012-05-23T19:33:56.197 回答
0

刚刚发现一些非常琐碎的事情可以解决问题:

Select case Case 

case "Case0" 
... 

case "Case1" 
  A=A

case "Case2" 
... 

End Selec
于 2020-02-11T10:23:45.960 回答
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
于 2021-03-25T20:20:21.267 回答