如何展开多维数组的第一个索引?

时间:2014-02-06 13:19:40

标签: multidimensional-array vb6 expand

ReDim允许扩展我的数组。我想循环一个数组并展开它,因为我不知道我的数组将具有多长。

我发现无法扩展多维数组的第一个索引。

示例:

ReDim Preserve Cells(1 To 100, 20) As Integer ' This works.
ReDim Preserve Cells(1 To 200, 20) As Integer ' This doesn't.

有解决方法吗?如果没有这个,我无法弄清楚如何以优雅的方式编程。我曾经在C#编程。

1 个答案:

答案 0 :(得分:1)

您可以为内部数组使用用户定义的类型,并使用此用户定义类型的数组作为外部数组

看看下面的例子:

Private Type MyArray
  strArray() As String
End Type

Private Sub RedimArray()
  Dim intFirst As Integer, intSecond As Integer
  Dim udt2D() As MyArray
  'resize first dimension
  ReDim udt2D(3) As MyArray
  For intFirst = 0 To UBound(udt2D)
    'resize second dimension for each separately
    intSecond = intFirst * 10 + 1
    ReDim udt2D(intFirst).strArray(intSecond)
  Next intFirst
End Sub