私はswitchステートメントを使用するVB.NETでいくつかのコードを書いていますが、ある場合には別のブロックにジャンプする必要があります。C#では、次のようになります。
switch (parameter)
{
case "userID":
// does something here.
case "packageID":
// does something here.
case "mvrType":
if (otherFactor)
{
// does something here.
}
else
{
goto default;
}
default:
// does some processing...
break;
}
ただし、これをVB.NETに変換する方法がわかりません。私はこれを試しました:
Select Case parameter
Case "userID"
' does something here.
Case "packageID"
' does something here.
Case "mvrType"
If otherFactor Then
' does something here.
Else
GoTo Case Else
End If
Case Else
' does some processing...
Exit Select
End Select
しかし、これを行うと、コンパイラエラーが発生します:「識別子が必要です」。「ケース」の下に波線があります。何か案は?
また、この場合、GoToステートメントを使用するのは間違っていますか?それは私がそれを書き直さなければならない他の方法のようです。
コードを次のように変更しました。
If otherFactor AndAlso parameter = "mvrType" Then
'does something here
Else
' My original "Select Case statement" here without the case for "mvrType"
End If