基础·MSDN·不指定边界遍历数组

来源:互联网 发布:c语言 数据类型 编辑:程序博客网 时间:2024/05/08 15:22

[参考]:《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 IntegerMyArray(8) = 234    ' 导致错误 9

    Visual Basic 并不会将没有指定范围的数组自动设为 0 – 10。相反必须使用 Dim ReDim 来指定数组中元素的数目。

  • 引用了不存在的集合成员。

    试着使用 For Each...Next 结构代替指定元素下标。

  •  

    [说明]:

    由上可知,VB中的数组在使用时必须要事先指定数组中元素的数目;

    在某些情况用For Each...Next结构代替指定元素下标能避免出错;

    For Each...Next中遍历数组时,element只能是一个Variant变量。

     

    [简单示例]: