For a single-dimension Array, yes, you can directly simulate VB .NET's 'redim, and 'redim preserve,' functionality by using: Array.Resize(ref NameOFArray, #newSize);
VB .NET's 'redim allows you to change the size of any dimension in a multi-dimensional Array; to achieve that in C# requires you write a custom method to build a new Array of the required number of dimensions (rank), and copy over the appropriate values from the array-being-copied.
See: C# Array.Resize: [
^].
In the article linked to above, you will find sample code for simulating VB 'redim in C# with a multi-dimensional Array.
Do keep in mind that
if you have references to an existing Array, and then resize the Array in C#, the references are not updated/changed ! I suggest you carefully study Jon Skeet's example of this, here: [
^].
The issue of whether or not any use of the Array object in .NET should be changed to use a Generic List based structure is an interesting one. For me, the answer is "no;" I believe there are many situations where using Arrays is quite efficient, and useful.
But, imho, you should really examine the different viewpoints on this; I suggest you examine the first six results of this Google search: [
^].