【发布时间】:2010-12-26 14:32:51
【问题描述】:
这可能是一个密集的问题,我发现它不是 this one 的重复,但我需要一些帮助来了解数组是否可以在 Select Case 语句中使用。
我有一个子例程,我将动态创建一个字符串数组。还列出了 XML,但它可以是下面列出的任何值。它会是这样的:
Dim offensiveLine() As String = New String() {"center", "right wing", "left wing"}
Dim defensiveLine As String = "defense"
Dim playerInfo = <Player><Name>John</Name><Position val="right wing"/></Player>
我想做的是看看这个球员是否在进攻线之一。所以我说:
Dim playerPosition = playerInfo.Position.@val
Select Case playerPosition
Case offensiveLine
'do something
Case defensiveLine
'do something
Case Else
'do nothing
End Select
这就是问题所在:Case offensiveLine 无效。我知道我可以写出Case "center", "right wing", "left wing",但这会破坏我正在尝试做的事情的目的,即创建一个可以在 Case 语句中读取的数组的广义变量。其次,我知道我不能创建像 Dim offensiveLine = ""center", "right wing", "left wing"" 这样的变量并将其传递进去。
关于如何将数组传递给 Case 语句并评估每个语句的任何见解?
【问题讨论】:
-
为什么是数组而不是枚举?
-
好问题,我没想到。你认为 Enum 在这里会做同样的事情吗,即我可以有一个包含 3 个字符串值的枚举,我只需传入 Enum 名称来评估所有三个值?
标签: vb.net linq select-case