30
A
回答
45
爲什麼不使用For Each
?這樣你就不需要關心LBound
和UBound
是什麼。
Dim x, y, z
x = Array(1, 2, 3)
For Each y In x
z = DoSomethingWith(y)
Next
1
可能它來自VB6。因爲在VB6 Option Base語句,可以改變下界陣列是這樣的:
Option Base 1
而且在VB6中,你可以改變下界特定陣列的是這樣的:
Dim myArray(4 To 42) As String
1
我一直用於各...
16
有一個很好的理由不要使用For i = LBound(arr) To UBound(arr)
dim arr(10)
分配陣列的十名一名成員,從0到10(假設VB6默認選項基礎)。
許多VB6程序員都假設該數組是基於一個數組,並且從不使用分配的arr(0)
。我們可以通過使用For i = 1 To UBound(arr)
或For i = 0 To UBound(arr)
來消除潛在的錯誤來源,因爲那麼清楚是否正在使用arr(0)
。
For each
使每個數組元素的副本,而不是一個指針。
這有兩個問題。
當我們試圖給數組元素賦值時,它並不反映在原始數據上。此代碼將值47分配給變量
i
,但不影響arr
的元素。arr = Array(3,4,8) for each i in arr i = 47 next i Response.Write arr(0) '- returns 3, not 47
我們不知道一個數組元素的索引中
for each
,我們不能保證元素的順序(儘管它似乎是爲了。)
3
LBound
可能並不總是0.
雖然無法創建一個數組,但VBScript中的下限不是0,但仍可以從COM組件中檢索變體數組可能指定了不同的LBound
。
這就是說我從來沒有遇到過這樣的事情。
相關問題
- 1. 在Classic ASP中使用web服務的最佳方式是什麼?
- 2. 在MATLAB中迭代矩陣列的最佳方式是什麼?
- 3. 迭代數組並修改PowerShell中的元素的最佳方式是什麼?
- 4. 在Swift中迭代AnyObject數組的最佳做法是什麼?
- 5. Java:迭代集合的最佳方式是什麼?
- 6. 迭代循環包裝索引的最佳方式是什麼?
- 7. 迭代多線程字典的最佳方式是什麼?
- 8. 使用vbscript/classic asp
- 9. 迭代所有數據的最佳方法是什麼?
- 10. 在ajax中發佈數組的最佳方式是什麼?
- 11. 在JSON中循環數組的最佳方式是什麼?
- 12. 什麼是在java中傳遞數組的最佳方式
- 13. 在C++中聲明數組的最佳方式是什麼?
- 14. 在php中乘數組的最佳方式是什麼?
- 15. 在Perl中混洗數組的最佳方式是什麼?
- 16. 在Erlang中表示C數組的最佳方式是什麼?
- 17. 什麼是在scala中循環數組的最佳方式
- 18. 在Obj-c中組織一組的最佳方式是什麼?
- 19. PHP:迭代兩個並行數組的最佳方法是什麼?
- 20. 獲得迭代器的數量/長度/大小的最佳方式是什麼?
- 21. 組織android開發代碼的最佳方式是什麼?
- 22. 迭代Perl數組的最有效方法是什麼?
- 23. 什麼是調試asp頁面的最佳方式?
- 24. 向後迭代SortedDictionary的最佳方法是什麼?
- 25. 在mysql中存儲html代碼的最佳方式是什麼?
- 26. 在Eclipse中調試android代碼的最佳方式是什麼?
- 27. 在django中編寫組合框的最佳方式是什麼?
- 28. 什麼是在項目中組織CSS/JavaScript的最佳方式
- 29. 在Mongo中組織子文檔的最佳方式是什麼?
- 30. 在列表中組織JPanels的最佳方式是什麼?
您不能使用For Each來直接編輯數組單元,因爲在您的示例中`y`是數組單元的副本,而不是參考。對於數組編輯,`For i = LBound(arr)To UBound(arr)`將允許直接使用`arr(i)`引用單元格並編輯單元格內容(比如`arr(i)= Trim(arr ))`)。 – 2014-05-29 14:20:47