什么意思如果*然后*和条件
我可能有一个简单的问题,但它却让我心生疑虑。 我有一些代码来重构它,但不能弄清楚作者认为这个声明
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
。 如果greatThanPrec
和signalAmplArray(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