以下是代码:
Select Case ConnectionId
Case Is = 40113 AndAlso CompanyId= 88
两者都是真的,connectionId是40113,而CompanyId是88,但代码是Case Else ......
问题是什么?
答案 0 :(得分:3)
您应该将OPTION STRICT
设置为开启。然后,由于您尝试将Integer
用作Boolean
,这甚至无法编译,这也是您遇到问题的原因。 40113
将评估为True
,因此40113 AndAlso CompanyId= 88
也将评估为True
,但ConnectionId = True
将评估为False
。 (你明白为什么要设置STRICT
)
改为使用If-Else
:
If ConnectionId = 40113 AndAlso CompanyId = 88 Then
' ... '
Else
' ... '
End If
一般情况下:如果您想比较多个变量,请使用If
- 而不是Select Case
。