是和运算符总是在Or之前进行评估

Mat*_*lko 1 vb6 operators

我今天早上在一些VB6代码中遇到了一个错误,但没有正确评估.代码采用以下格式:

<Boolean Value 1> Or <Boolean Value 2> And <Boolean Value 3>
Run Code Online (Sandbox Code Playgroud)

修复(在这种情况下)是将括号括起来如下:

(<Boolean Value 1> Or <Boolean Value 2>) And <Boolean Value 3>
Run Code Online (Sandbox Code Playgroud)

因为And首先被错误地评估所以我的问题是 - 这总是这样吗?

我假设使用BIDMAS规则评估像+ - *之类的东西但是这些运算符And Or Not XOr Is <>等等

Jac*_*cob 6

Visual Basic中的运算符优先级

优先顺序出现:

Negation (Not)

Conjunction (And, AndAlso)

Inclusive disjunction (Or, OrElse)

Exclusive disjunction (Xor)
Run Code Online (Sandbox Code Playgroud)

  • @Stacktracer - 在VB6中不可用****** - 他们什么时候打算介绍它们?我一直在等待**年龄的Visual Studio 6 Service Pack 7** (3认同)
  • 注意,VB6中还没有短路运算符`AndAlso`和`OrElse`. (2认同)