1

VB.NET,我怎样才能实现以下逻辑?

Select Case testString
    Case Contains("ABC") : Debug.Print "ABC"
    Case Contains("XYZ") : Debug.Print "XYZ"
    Case Else : Debug.Print "Other"
End Select
4

2 回答 2

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

但它只适用于非常具体的情况,而且根本不是很清楚和必要的。

于 2013-07-09T07:03:52.433 回答
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只允许常量表达式。

于 2013-07-09T07:05:40.753 回答