新觀念的 VB5 教本

每週一問: 挑戰您的 VB 功力 (初級篇, 97/11/30)


Q: 以下兩種敘述的作用是一樣的, 但哪一種速度比較快呢?
If A <  0 Then
    X = -A
Else
    X = A
End If
X = IIf( A<0, -A, A)
A: 乍看之下, IIf 比 If-EndIf 來得簡短, 應該會比較快, 但 IIf 是 VB 提供的函數, 而 If-EndIf 則是 VB 內建的語法, 一般而言, 函數的執行速度會比內建的語法慢, 以 IIf 與 If-EndIf 的比較為例, If-EndIf 比 IIf 快 3、4 倍以上。