木子屋 Dnawo's BLOG

ASP动态数组下标越界解决方法

👤 dnawo 📅 2014-11-07 👁 5517 👍 0 💬 0 🔄 本站原创
在一段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)&"<br/>")
Next
%>

运行出错:

图片

原因是在没有调用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)&"<br/>")
Next
%>

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 按键精灵下载远程文件到本地示例 下一篇 → [ASP]If语句多个表达式运算时书写注意事项