在vb.net中,我可以这样做:
Select Case value
Case "2", "4", "6"
Foo()
Case "1", "3", "5"
Bar()
End Select
现在我发现自己需要同时执行Foo()和Bar(),如果值为“7” - 是否有一种简单的方法可以使用If条件执行此操作?
像
这样的东西if ("2","4","6","7").contains(value) then
Foo()
end if
if ("1","3","5","7").contains(value) then
Bar()
end if
我不想宣布&如果我可以避免它,请初始化两个列表。
编辑:我应该提到这是一个简化的例子 - 实际上有十几个CASE
语句,而Foo()和Bar()实际上是占用更多代码的占位符 - 它正在看到同样重复的代码块让我想到了更好的方法。
答案 0 :(得分:4)
我认为你已经在Case声明的正确轨道上了。试一试:
Select Case value
Case "2", "4", "6"
Foo()
Case "1", "3", "5"
Bar()
Case "7"
Foo()
Bar()
End Select
答案 1 :(得分:1)
为什么不为7调用Foo和Bar添加一个额外的案例?这似乎是沟通任何特定价值的最简单方式。
答案 2 :(得分:0)
试试这个:
Case "7"
Foo()
Bar()