vb6:二维动态数组的重新尺寸调整

2024-04-25

我使用数组根据蒸汽的压力来存储蒸汽的属性。现在我有 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(使用前将#替换为@)

vb6:二维动态数组的重新尺寸调整 的相关文章

随机推荐