Я пишу код в VB.NET, который использует оператор switch, но в одном из случаев ему нужно перейти в другой блок. В С# это будет выглядеть так:
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