本帖最后由 cashiba 于 2017-3-18 09:39 编辑
VB里对动态数组有相对多的描述。如下:建立动态数组的方法是:
利用Dim语句声明括号内为空的数组,然后在过程中用ReDim语句指明该数组的大小。
语法是:
ReDim 数组名[下标1[,下标2…]]
其中下标可以是常量,也可以是有了确定值的变量。
例:
Dim $Arr[]
……
ReDim #arr[4,6]
2.注意事项
(1)在动态数组ReDim语句中的下标可以是常量,也可以是有了确定值的变量;
(2)在过程中可以多次使用ReDim来改变数组的大小,也可改变数组的维数。
(3)每次使用ReDim语句都会使原来数组中的值丢失.
可以在ReDim语句后加Preserve参数来保留数组中的数据
但使用Preserve只能改变最后一维的大小,前面几维大小不能改变。
在AU3里好像讲得很少,找到Redim的描述。如下:
ReDim
调整现有数组的大小.
ReDim 数组[索引 1]...[索引 n]
参 数
数组 目标数组名称.
索引 数组维数的元素数量, 元素索引 0 到 n-1.
备 注
关键字 ReDim 的作用类似 Global/Local, 但 ReDim 调整数组大小时保存数组的值, 而不是删除值.
数组的维数必须保持一致, 否则 ReDim 将丢失旧的数组内容.
数组调整大小后其作用域(Global 或者 Local)维持不变.
基本上都是概念性的讲述,总感觉不是太明晰。
不知道VB和AU3的动态数组,是不是区别不大---------------------------------------------------
以二维数组为例,VB里比较强调以下3点:
1、ReDim[]中的下标必须有确定值(常量或已赋值变量),否则留空
2、只能改变第二维大小
3、要用Preserve来保留原数组数据 |