[参考]:《MSDN Library Visual Studio 6.0 (CHS)》
Visual Basic 文档 —— 参考 —— 语言参考 —— 语句 —— A-H —— For Each ... Next 语句
Visual Basic 文档 —— 参考 —— 可捕获的错误 —— 核心 Visual Basic 语言错误 —— 下标越界(错误 9)
For Each...Next 语句
针对一个数组或集合中的每个元素,重复执行一组语句。
语法
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
element:必要参数。用来遍历集合或数组中所有元素的变量。对于集合来说,element 可能是一个Variant变量、一个通用对象变量或任何特殊对象变量。对于数组而言,element 只能是一个Variant变量。
group:必要参数。对象集合或数组的名称。
statements:可选参数。针对 group 中的每一项执行的一条或多条语句。
下标越界(错误 9)
导致错误。 Dim MyArray() As Integer MyArray(8) = 234 '9
Visual Basic 并不会将没有指定范围的数组自动设为 0 – 10。相反必须使用 Dim 或 ReDim 来指定数组中元素的数目。
试着使用 For Each...Next 结构代替指定元素下标。
[说明]:
由上可知,VB中的数组在使用时必须要事先指定数组中元素的数目;
在某些情况用For Each...Next结构代替指定元素下标能避免出错;
For Each...Next中遍历数组时,element只能是一个Variant变量。
[简单示例]: