根据蒸汽的压力,我使用阵列来存储蒸汽的特性。现在,我有精确的9压力特性,所以我使用静态数组。我希望更灵活,所以我想切换到动态数组。
当我在循环中使用ReDim foo(1 to i, 1 to 10)时,除了最后一行之外,我完全松散了所有数据。
当我使用ReDim Preserve foo(1 to i, 1 to 10)或ReDim Preserve(i,10)程序时,抛出“运行时错误‘9:超出范围”的错误。i从1到9。
如何在不丢失数据的情况下向数组中添加行/列?
发布于 2011-06-08 09:43:20
您只能在VB6多维数组中保留Redim的最终维度。以下是MSDN的信息:
如果包含
关键字,Visual会将现有数组中的元素复制到新数组中。当使用“保留”时,只能调整数组的最后一个维度的大小,对于其他每个维度,必须指定它在现有数组中已经具有的大小。
例如,如果数组只有一个维度,则可以调整该维度的大小,并且仍然保留数组的内容,因为它是最后一个也是唯一的维度。但是,如果数组有两个或多个维度,则如果使用“保留”,则只能更改最后一个维度的大小。
下面的示例在不丢失数组中的任何现有数据的情况下,增加动态数组的最后一个维度的大小,然后减少部分数据丢失的大小:
Dim IntArray(10, 10, 10) As Integer
ReDim Preserve IntArray(10, 10, 20)
ReDim Preserve IntArray(10, 10, 15)https://stackoverflow.com/questions/6276761
复制相似问题