在VB.NET
中,我如何实现以下逻辑?
Select Case testString
Case Contains("ABC") : Debug.Print "ABC"
Case Contains("XYZ") : Debug.Print "XYZ"
Case Else : Debug.Print "Other"
End Select
答案 0 :(得分:4)
简单地:
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
但它只适用于非常具体的情况,而且根本不是很清楚和必要。
答案 1 :(得分:3)
在VB.NET中,您可以使用此Select
:
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
只允许使用常量表达式。