技巧 13:避免重新确定数组的维数
应尽量避免 Redim 数组。就性能而言,如果计算机的物理内存大小有限,最好将数组的初始维数设置为其最不利的情况 - 或将维数设置为其最佳的情况,然后再按需要重新确定维数。这并非意味着,如果知道您不需要内存时,就随便分配几兆字节的内存。
下面的代码给您显示使用 Dim 和 Redim 不当的情形。
1
2Dim MyArray()
3Redim MyArray(2)
4MyArray(0) = ?hello?
5MyArray(1) = ?good-bye?
6MyArray(2) = ?farewell?
7...
8' some other code where you end up needing more space happens, then ...
9Redim Preserve MyArray(5)
10MyArray(3) = ?more stuff?
11MyArray(4) = ?even more stuff?
12MyArray(5) = ?yet more stuff?
最好一开始就将数组的初始大小 Dim 正确(在本例中,是 5)比 Redim 数组使其更大好得多。您可能浪费一些内存(如果您没有使用所有的元素),但获得的好处是速度变得更快。