【发布时间】:2011-02-08 17:59:46
【问题描述】:
如何在不影响其值的情况下调整二维数组的大小?
【问题讨论】:
-
“影响其价值”是什么意思?
-
我的意思是存储在数组中的值不会丢失。
-
附带说明,请注意“调整大小”数组实际上是不可能的,并且总是涉及创建新数组和复制数据。避免做太多...
如何在不影响其值的情况下调整二维数组的大小?
【问题讨论】:
将 没有正确阅读文档。 ReDim 与Preserve 修饰符一起使用。 VB.NET 将确保原始值未被触及。ReDim Preserve 只允许您更改数组最后一维的长度。
您需要分配一个新数组(具有正确的大小)并手动将元素从第一个数组复制到第二个。
【讨论】:
正如亚当所说,您不能动态调整二维数组的大小。您可以轻松地将现有数组复制到更大的数组中,如下所示:
Dim smaller(1, 1) As Byte
Dim bigger(2, 2) As Byte
Array.Copy(smaller, bigger, smaller.length)
【讨论】:
如果您使用 .net 2 框架或更高版本,请尝试使用 array.resize。
例如:
Dim MyArray() as string
Array.Resize(myarray,12)
【讨论】: