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

[参考]:《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变量。

    [简单示例]:

    相关文章

    Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
    VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
    在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
    转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
    Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
      窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...