案例和组合

时间:2013-02-14 08:57:22

标签: vb.net

以下是代码:

Select Case ConnectionId
  Case Is = 40113 AndAlso CompanyId= 88

两者都是真的,connectionId是40113,而CompanyId是88,但代码是Case Else ......

问题是什么?

1 个答案:

答案 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