【发布时间】:2016-04-27 07:17:38
【问题描述】:
我可能有一个简单的问题,但它让我大吃一惊。我有一些代码可以对其进行一些重构,但无法弄清楚作者对此语句的想法
If (j > 0) Then greatThanPrec = greatThanPrec And (signalAmplArray(i) > signalAmplArray(j))
我想我知道基本的If Then else 是如何工作的,但不明白为什么之后是A = A,然后是AND 可能是像C/C++ 中的一些短条件?
【问题讨论】:
-
不,这是一个逻辑(按位)AND。那么就表示“如果条件满足,将A的值改为
A And B”。 -
And,Or是布尔(真/假)运算符。greatThanPrec在这里是布尔类型。 -
@PatricK 在 VBA 中,
And和Or是按位的。它们在逻辑上下文中工作得一样好,但它们本质上是按位计算的(与 VB.NET 中的AndAlso和OrElse不同)。 -
@GSerg 谢谢,之前没有注意到。我可以用
?1 Or 2(=3) 和?2 And 3(=2) 在即时窗口中确认。这为我打开了一些计算的调整。