Array reallocation question

O

Oleg Subachev

Are existing elements in the array preserved when array is reallocated ?

int[] A = new int[1];
A[0] = 1;
A = new int[ A.Length + 1 ];
A[1] = 2;

Will A[0] be 1 at this point ?

Oleg Subachev
 
M

Marc Gravell

No, they aren't. the new array is wiped to 0s. You could, however, create
the new array in a second variable, then oldArray.CopyTo(newArray, 0) to get
the values from the old array to the new array.

However, if you are going to be doing this often, then maybe you are using
the wrong object structure? Maybe use a list or collection wrapper?

Marc
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top