Q: | If S="" Then 與 If Len(S)=0 Then 何者速度較快?
|
||
A: | 結果是 If Len(S) = 0 Then 比較快,因為數值的運算速度要比字串快。
有經驗的 C 語言程式設計師可能會以為 If Len(S)=0 Then 比較慢, 因為對 C 語言而言, 計算長度的方法是判斷 Chr(0) 字元的所在位置, 字串的長度越長, 則計算長度的函數就會多花一點時間, 因此認為 Len(S) 會比較費時。 但是對 VB 而言, 字串的內部結構中除了包含字串本身之外, 還包含字串的長度, 而 Len(S) 不過是將字串結構中的「字串長度」部分取出來, 所以不像 C 語言一樣, 會額外費去計算的時間。 |