【vb数组下标越界】ASP动态数组下标越界问题解决办法

更新时间:2019-08-07    来源:php常用代码    手机版     字体:

【www.bbyears.com--php常用代码】

在一段ASP程序中,需要定义一个动态数组,但数组大小没办法一次ReDim到位,得根据实际需要逐个增大,于是有了下边代码:

 代码如下

<%
Dim arr()
"赋值
For i = 1 To 10
    Redim Preserve arr(UBound(arr) + 1)
    arr(UBound(arr)) = i   
Next
"遍历
For i=0 to UBound(arr)
    Response.Write(arr(i)&"
")
Next
%>

运行出错:

ASP动态数组下标越界问题解决办法

原因是在没有调用Redim定义数组下标前,使用UBound获得数组下标会出错,提示下标越界,对代码稍做修改即可解决:

 代码如下

<%
Dim arr()
ReDim arr(0)
"赋值
For i = 1 To 10
    If arr(UBound(arr)) <> "" Then
        Redim Preserve arr(UBound(arr) + 1)
    End If   
    arr(UBound(arr)) = i   
Next
"遍历
For i=0 to UBound(arr)
    Response.Write(arr(i)&"
")
Next
%>

 

本文来源:http://www.bbyears.com/jiaocheng/60643.html