no, it just assigns array as a new 10d array with empty pointers. which means you loss all info, if you are going todo it that way you have make sure you create a temp array, fill that array, and then resize the new array and fill it with the items in the other array:
Strict
Local i:Int
Local c:Int
Local array:Int[20]
array[9] = 99
Local tmparray:Int[20]
For i:Int = EachIn array
tmparray[c] = i
c:+ 1
Next
c = 0
array = New Int[10]
For i:Int = EachIn tmparray
array[c] = i
c:+ 1
Next
c = 0
Print array[9]
;; which isn't dynamic (because you create a new array instead of resize it)
Strict
Local i:Int
Local c:Int
Local array:Int[20]
array[9] = 99
Local tmparray:Int[20]
For i:Int = EachIn array
tmparray[c] = i
c:+ 1
Next
c = 0
array = New Int[10]
For i:Int = EachIn tmparray
array[c] = i
c:+ 1
Next
c = 0
Print array[9]
;; which isn't dynamic (because you create a new array instead of resize it)