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