How can I resize the two dimensional array size without affecting its value?
+4
A:
Use Didn't read the documentation right. ReDim
with the Preserve
modifier. VB.NET will make sure the original values are untouched.ReDim Preserve
will only allow you to change the length of the last dimension of the array.
You need to allocate a new array (with the correct size) and manually copy the elements from the first array to the second.
Adam Maras
2010-04-16 08:54:36
Never realized redim was limited to the last dimension, uh. Guess Array.Copy will get some attention too.
Wez
2010-04-16 09:24:46
+2
A:
As Adam said, you can't resize 2D arrays dynamically. You can easily copy the existing array into a bigger one like so:
Dim smaller(1, 1) As Byte
Dim bigger(2, 2) As Byte
Array.Copy(smaller, bigger, smaller.length)
Wez
2010-04-16 09:35:31