Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 字符串函数可以在Select Case语句中执行吗?_.net_Vb.net_Select Case - Fatal编程技术网

.net 字符串函数可以在Select Case语句中执行吗?

.net 字符串函数可以在Select Case语句中执行吗?,.net,vb.net,select-case,.net,Vb.net,Select Case,在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 t

在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
但它只在非常具体的情况下起作用,根本不十分明确和必要。

简单地说:

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中,您可以使用以下内容:

然而,在这种情况下,我更喜欢一个简单的If子句


这将更加清晰,并且与C兼容。只允许常量表达式。

在VB.NET中,您可以使用:

然而,在这种情况下,我更喜欢一个简单的If子句


这将更加清晰,并且与C兼容。只允许常量表达式。

由于在这个具体示例中可以这样做,因此对于返回值总是不同于布尔类型的函数来说,这将不是一种有效的方法。@SysDragon:当然,您不能对所有函数都使用Select…Case。但是在比C更多的情况下,OP希望将其与返回布尔值的函数一起使用。因为这在这个具体示例中有效,所以对于返回值总是不同于布尔类型的函数来说,这将不是一种有效的方法。@SysDragon:当然,您不能对所有函数都使用Select…Case。但是在比C.OP更多的情况下,它需要使用一个返回布尔函数的函数。@ CJ7如果它对你有用的话,请考虑和投票。@ CJ7,如果它对你有用的话,请考虑和投票。