vb redim 什么意思 急

例如: For i= 1to5 Redim a(i)什么意思?????
2024-11-24 02:04:55
推荐回答(4个)
回答1:

ReDim 语句

在过程级中声明动态数组变量并分配或重新分配存储空间。

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

参数

Preserve
当更改现有数组最后一维的大小时保留数据。

varname
变量名,遵循标准变量命名约定。

subscripts
数组变量的维数,最多可以声明 60 维数组。subscripts 参数语法格式如下:

upper [,upper] . . .

数组的下界总是零。

说明

ReDim 语句通常用于指定或修改动态数组的大小,这些数组已用带有空括号的 Private、Public 或 Dim 语句(没有维数下标)正式声明过。可以重复使用 ReDim 语句更改数组维数和元素数目。

如果使用了 Preserve 关键字,就只能调整数组最后维的大小,并且不能改变数组的维数。例如,如果数组只有一维,就可以修改该数组的大小,因为该维是最后的也是仅有的一维。但是,如果数组有两个或更多维,就只能改变末维的大小并保留数组内容。

这个例子说明如何不擦掉该数组中存在的数据,而增加动态数组的终止维数。

ReDim X(10, 10, 10)
. . .
ReDim Preserve X(10, 10, 15)
小心 如果减小数组的大小,则将丢失被排除的元素中的数据。

变量初始化时,数值变量初始化为 0,字符串变量初始化为零长度字符串 ("")。在使用引用对象的变量前,必须使用 Set 语句将某个现有对象赋予该变量。在进行对象赋值以前,已声明的对象变量有特定值 Nothing。

回答2:

重定义,通常用于指定或修改动态数组的大小

回答3:

是不是写错了??好像是去随机数的函数!

回答4:

重新定义数组的长度
前提是不能在之前的dim中固定了数组的长度。
必须定义为可变的长度,不能重新定义数据的类型。
以下是正确的:
dim a() as string
redim a(10)
redim a(2,20)
如果你要保留之前数组的值,可以使用Preserve关键字
redim preserve a(20) '这样,这前a(10)的值就会存在,否则全部清空。
使用Preserve关键字的时候,只能redim最后一维数组的长度,不能redim数组维数,也不能更改其它维的长度。比如由原来的a(2,20)变为redim Preserve a(3,20)或者redim Preserve a(2,2,20)都是错误的
以下是错误的使用方式:
dim a(10) as string '这种数组是不能更改长度的
redim a(20) '这里会报错
redim a(20) as integer '不能重新定义数组的类型
如果要重新定义多维数据的长度,只有在dim的时候使用dim a(),这样的方式,再redim a(2,2)