zcsgamer 发表于 2012-9-13 20:59:19

数组如果简单置0能否释放资源,还是需要用_ArrayDelete挨个删除?(已解决)

本帖最后由 zcsgamer 于 2012-9-17 16:03 编辑

有个数组需要反复使用,每次的长度不一样,添加的时候用_ArrayAdd处理,也有正则返回的情况,不知道如何释放,故此一问,是不是还有什么更好的方式?

netegg 发表于 2012-9-13 23:43:41

重新定义是个最好的办法,用dim...redim

zcsgamer 发表于 2012-9-14 12:20:15

回复 2# netegg


    我看了一下redim的用例,好像是要先指定数组大小,有没有可以不指定数组大小的方法,redim $array,然后_ArrayAdd添加,这个方法应该可以,还有更简单的方法吗?

netegg 发表于 2012-9-15 09:36:29

本帖最后由 netegg 于 2012-9-15 09:38 编辑

#include<array.au3>
Dim $aArray
_ArrayDisplay($aArray)
_ArrayAdd($aArray, 1)
_ArrayDisplay($aArray)
reDim $aArray
_ArrayDisplay($aArray)
没明白lz的意思

Qokelate 发表于 2012-9-15 10:28:21

本帖最后由 Qokelate 于 2012-9-15 10:49 编辑

哎刚看错意思了

Redim可以不影响某些数据
Global、Local重新声明的话会删除原来所有数据



#include <Array.au3>

Local $a
$a = 0
$a = 1
$a = 2
$a = 3
$a = 4
_ArrayDisplay($a)

ReDim $a
_ArrayDisplay($a)


Local $a
_ArrayDisplay($a)

Exit

tvzml 发表于 2012-9-15 10:39:19

回复netegg


    我看了一下redim的用例,好像是要先指定数组大小,有没有可以不指定数组大小的方法 ...
zcsgamer 发表于 2012-9-14 12:20 http://www.autoitx.com/images/common/back.gif


我也是采用 redim $array 达到一次复位,重新利用    $array ,感觉这样重新额值比较方便,速度!

zcsgamer 发表于 2012-9-17 16:02:13

回复 4# netegg


    我的意思就是想实现一个动态数组,呵呵。

zcsgamer 发表于 2012-9-17 16:03:14

回复 6# tvzml


    应该是没有更方便的方法了吧。
页: [1]
查看完整版本: 数组如果简单置0能否释放资源,还是需要用_ArrayDelete挨个删除?(已解决)