如何调整二维数组的大小而不影响其值?
使用带有 没有正确阅读文档。 Preserve
修饰符的ReDim
。VB.NET会确保原始值不受影响。ReDim Preserve
只允许您更改数组的最后一个维度的长度。
您需要分配一个新的数组(具有正确的大小),并手动将第一个数组中的元素复制到第二个数组中。
正如Adam所说,您无法动态调整2D数组的大小。 您可以像这样轻松地将现有数组复制到更大的数组中:
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)