首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串函数可以在Select-Case语句中执行吗?

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

Stack Overflow用户
提问于 2013-07-09 15:01:11
回答 2查看 2.5K关注 0票数 1

VB.NET中,如何实现以下逻辑?

代码语言:javascript
复制
Select Case testString
    Case Contains("ABC") : Debug.Print "ABC"
    Case Contains("XYZ") : Debug.Print "XYZ"
    Case Else : Debug.Print "Other"
End Select
EN

回答 2

Stack Overflow用户

发布于 2013-07-09 15:03:52

简单地说:

代码语言:javascript
复制
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语句是最佳且更容易的选择。

您可以随时执行以下操作:

代码语言:javascript
复制
Select Case True
    Case testString.Contains("ABC") : Debug.Print("ABC")
    Case testString.Contains("XYZ") : Debug.Print("XYZ")
    Case Else : Debug.Print("Other")
End Select

但它只能在非常具体的情况下起作用,而且根本不是非常明确和必要的。

票数 4
EN

Stack Overflow用户

发布于 2013-07-09 15:05:41

在VB.NET中,您可以使用此Select

代码语言:javascript
复制
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子句。

代码语言:javascript
复制
If testString.Contains("ABC") Then
    Debug.Print("ABC")
ElseIf testString.Contains("XYZ") Then
    debug.Print("XYZ")
Else
    Debug.Print("Other")
End If

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17541967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档