Resizing
Reducing Array Size
This can only be used when you have a one dimensional array
char[ ] myarray = new char[4];
myarray[0] = 'a';
myarray[1] = 'b';
myarray[2] = 'c';
myarray[3] = 'd';
System.Array.Resize(ref myarray, 2);
Increasing Array Size
This can only be used when you have a one dimensional array
char[ ] myarray = new char[2];
myarray[0] = 'a';
myarray[1] = 'b';
System.Array.Resize<char>(ref myarray, 4);
myarray[2] = 'c';
myarray[3] = 'd';
Resizing and Preserving
int[2] myarray;
int[ ] temp = new int[4];
myarray[0] = 'a';
myarray[1] = 'b';
System.Array.Copy(myarray, temp, myarray.Length);
myarray = temp
ReDim - VB.Net
This is not possible in C#.
You can only use ReDim after static declaration in VB.NET.
Only the last dimension can be resized.
Dim myarray(6) As Integer
Redim myarray(4) As Integer
You cannot use ReDim as an array declaration in VB.NET
It is not possible to declare an array using the ReDim statement in .NET as it is in VBA.
You always have to declare the array before its dimension can be changed.
Dim aiArrayIntegers(10) As Integer
ReDim aiArrayIntegers(20)
Because the ReDim cannot be used to declare an array it no longer supports the "As" keyword.
The ReDim can only be used to change the number of elements in the last dimension of the array.
You can still use ReDim Preserve to keep the elements already in an array.
ReDim
The use of ReDim for allocating a new array is necessary because VB does not allow the use of "New" when working with arrays (except with the curly bracket notation).
Dim asArray(,) As String
ReDim asArray(500,4)
ReDim Preserve
Allows you to allocate a new array with new dimensions and copy all the elements from the old array to the new one in a single line of code
Dim asArray() As String = {"one","two","three"}
ReDim Preserve asArray(10)
What is actually happening here is that a brand new array is created and then the System.Array.Copy method is called
The equivalent in C# would be:
string[] asArray = {"one","two","three"};
string[] temp = new string[10];
System.Array.Copy(asArray, 0, temp, 0, asArray.Length);
asArray = temp;
© 2021 Better Solutions Limited. All Rights Reserved. © 2021 Better Solutions Limited TopPrevNext