Cro*_*ley 3 arrays vb6 multidimensional-array dynamic-arrays
我正在使用数组来根据它的压力存储蒸汽的属性.现在我有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.
如何在不丢失数据的情况下将行/列添加到数组中?
您可能只有Redim保留VB6多维数组中的最终尺寸.这是来自MSDN的信息:
如果包含Preserve关键字,Visual Basic会将现有数组中的元素复制到新数组.使用"保留"时,只能调整阵列的最后一个维度,对于每个其他维度,必须指定现有阵列中已有的相同大小.
例如,如果您的数组只有一个维度,则可以调整该维度的大小并仍保留数组的内容,因为它是最后也是唯一的维度.但是,如果您的数组具有两个或更多维度,则在使用"保留"时,可以仅更改最后一个维度的大小.
以下示例增加了动态数组的最后一个维度的大小,而不会丢失数组中的任何现有数据,然后通过部分数据丢失减小大小:
Dim IntArray(10, 10, 10) As Integer
ReDim Preserve IntArray(10, 10, 20)
ReDim Preserve IntArray(10, 10, 15)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6035 次 |
| 最近记录: |