什么意思如果*然后*和条件

我可能有一个简单的问题,但它却让我心生疑虑。 我有一些代码来重构它,但不能弄清楚作者认为这个声明

If (j > 0) Then greatThanPrec = greatThanPrec And (signalAmplArray(i) > signalAmplArray(j)) 

我想我知道如何基本If Then else作品,但不知道为什么像A = A之后,然后是也许是一些短的条件,如在C / C + +?

那个特别与If Then无关。

Then根据signalAmplArray(i) > signalAmplArray(j)是否简单地更新greatThanPrec 。 如果greatThanPrecsignalAmplArray(i) > signalAmplArray(j)都为True ,那么greatThanPrec将保持为True ,否则将变为False

为了更好地看到它,用其可能的值replacesignalAmplArray(i) > signalAmplArray(j) 。 你会得到两个select:

 greatThanPrec = greatThanPrec And True 'greatThanPrec does not change its value 
 greatThanPrec = greatThanPrec And False 'greatThanPrec becomes false 

如果你想重构它,那将是

 If (j > 0) Then If Not (signalAmplArray(i) > signalAmplArray(j)) Then greatThanPrec = False End If End If