我使用数组根据蒸汽的压力来存储蒸汽的属性。现在我有 9 个压力的属性,所以我使用静态数组。我想要更灵活,所以我想切换到动态数组。
当我使用ReDim foo(1 to i, 1 to 10)
在循环中我完全丢失了除最后一行之外的所有数据。
当我使用ReDim Preserve foo(1 to i, 1 to 10)
or ReDim Preserve(i,10)
程序抛出错误“运行时错误‘9’:下标超出范围”. i
从 1 到 9。
如何将行/列添加到充满数据的数组而不丢失它们?
您只能 Redim 保留finalVB6 多维数组中的维数。以下是来自 MSDN 的信息:
如果您包含 Preserve 关键字,
Visual Basic 复制元素
现有数组到新数组。
使用 Preserve 时,您可以调整大小
仅数组的最后一个维度,
对于每个其他维度,你必须
指定与已有的尺寸相同的尺寸
在现有数组中。
例如,如果您的数组只有
一维,你可以调整它的大小
尺寸并仍然保留
数组的内容,因为它是
最后也是唯一的维度。然而,
如果你的数组有两个或更多
尺寸,您可以更改尺寸
如果您使用,则只有最后一个维度
保存。
下面的例子增加了
a 最后一个维度的大小
动态数组不丢失任何
数组中已有数据,然后
减少部分数据的大小
损失:
Dim IntArray(10, 10, 10) As Integer
ReDim Preserve IntArray(10, 10, 20)
ReDim Preserve IntArray(10, 10, 15)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)