数组问题!!急救!

lili1220 2002-03-27 02:30:32
如何将1,2,3,这样的字符串存为数组A?
或者说更新数据的时候,不要覆盖原来的值,而是追加!
...全文
34 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jamex 2002-03-27
  • 打赏
  • 举报
回复
在过程级别中使用,用于为动态数组变量重新分配存储空间。

语法

ReDim [Preserve] varname(subscripts) [As type] [, varname(subscripts) [As type]] . . .

ReDim 语句的语法包括以下几个部分:

部分 描述
Preserve 可选的。关键字,当改变原有数组最末维的大小时,使用此关键字可以保持数组中原来的数据。
varname 必需的。变量的名称;遵循标准的变量命名约定。
subscripts 必需的。数组变量的维数;最多可以定义 60 维的多维数组。subscripts 参数使用下面的语法:
[lower To] upper [,[lower To] upper] . . .
如果不显式指定 lower,则数组的下界由 Option Base 语句控制。如果没有 Option Base 语句则下界为 0。
type 可选的。变量的数据类型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(对变长的字符串)、String * length(对定长的字符串)、Object、Variant、用户定义类型或对象类型。所声明的每个变量都要有一个单独的 As type 子句。对于包含数组的 Variant 而言,type 描述的是该数组的每个元素的类型,不能将此 Variant 改为其它类型。

如果使用了 Preserve 关键字,就只能重定义数组最末维的大小,且根本不能改变维数的数目。例如,如果数组就是一维的,则可以重定义该维的大小,因为它是最末维,也是仅有的一维。不过,如果数组是二维或更多维时,则只有改变其最末维才能同时仍保留数组中的内容。下面的示例介绍了如何在为已有的动态数组增加其最末维大小的同时而不清除其中所含的任何数据。

ReDim X(10, 10, 10)
. . .
ReDim Preserve X(10, 10, 15)

同样地,在使用 Preserve 时,只能通过改变上界来改变数组的大小;改变下界则会导致错误。

如果将数组改小,则被删除的元素中的数据就会丢失。如果按地址将数组传递给某个过程,那么不要在该过程内重定义该数组的各维的大小。



Dim A()
Redim A(0)

Redim Preserve A(UBound(A) + 1)
A(UBound(A) - 1) = 1

Redim Preserve A(UBound(A) + 1)
A(UBound(A) - 1) = 2

Redim Preserve A(UBound(A) + 1)
A(UBound(A) - 1) = 3

Redim Preserve A(UBound(A) + 1)
A(UBound(A) - 1) = 4


For i = 0 To UBound(A) - 1
Response.Write(A(i))
Next

BrightEye 2002-03-27
  • 打赏
  • 举报
回复
加"ReDim Preserve MyArr(i)"可以不覆盖原来的数据.
BrentIvan 2002-03-27
  • 打赏
  • 举报
回复
Dim A()
Redim A(0)

Redim Preserve A(UBound(A) + 1)
A(UBound(A) - 1) = 1

Redim Preserve A(UBound(A) + 1)
A(UBound(A) - 1) = 2

Redim Preserve A(UBound(A) + 1)
A(UBound(A) - 1) = 3

Redim Preserve A(UBound(A) + 1)
A(UBound(A) - 1) = 4


For i = 0 To UBound(A) - 1
Response.Write(A(i))
Next

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧