В VB.NET
, как я могу достичь следующей логики?
Select Case testString
Case Contains("ABC") : Debug.Print "ABC"
Case Contains("XYZ") : Debug.Print "XYZ"
Case Else : Debug.Print "Other"
End Select
В VB.NET
, как я могу достичь следующей логики?
Select Case testString
Case Contains("ABC") : Debug.Print "ABC"
Case Contains("XYZ") : Debug.Print "XYZ"
Case Else : Debug.Print "Other"
End Select
Просто:
If testString.Contains("ABC") Then
Debug.Print "ABC"
ElseIf testString.Contains("XYZ") Then
Debug.Print "XYZ"
Else
Debug.Print "Other"
End If
Вы не можете проверить результат функции этого типа в операторе Select Case, поэтому использование простого оператора If - ваш лучший и легкий выбор.
Вы всегда можете это сделать:
Select Case True
Case testString.Contains("ABC") : Debug.Print("ABC")
Case testString.Contains("XYZ") : Debug.Print("XYZ")
Case Else : Debug.Print("Other")
End Select
Но это сработает только в очень конкретных случаях и совсем не очень понятно и не нужно.
В VB.NET вы можете использовать этот _1 _ а>:
Select Case True
Case testString.Contains("ABC")
Debug.Print("ABC")
Case testString.Contains("XYZ")
Debug.Print("XYZ")
Case Else : Debug.Print("Other")
End Select
Однако в этом случае я бы предпочел простое предложение If
.
If testString.Contains("ABC") Then
Debug.Print("ABC")
ElseIf testString.Contains("XYZ") Then
debug.Print("XYZ")
Else
Debug.Print("Other")
End If
Это было бы более понятно и совместимо с C #. switch
допускает только постоянные выражения.
Select...Case
для всего. Но в большем количестве случаев, чем в C #. OP хочет использовать его с функцией, которая все равно возвращает Boolean
.
- person Tim Schmelter; 09.07.2013