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た。それは間違いなく と の中にSelect CaseありEnd Selectます。

4

6 に答える 6

7

SelectVB には、ブロックを終了する機能がありません。代わりに、条件を逆にして、コンテンツを条件付きにする必要があります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 Select-VB.NETのみ

Exitステートメントの言語リファレンスをご覧ください-言及はありませんExit Select

最良のオプションは、selectステートメントを新しいサブルーチンにリファクタリングしてから、Exit Sub

于 2012-05-23T15:38:11.603 に答える
2

Exit Select残念ながら、VB6には利用可能な句がありません。

これは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 に答える