Use the Array.Copy subroutine to copy a range of elements from one array to another.
Array.Copy. Arrays are initialized to empty memory. But we can copy one array to another with the Array.Copy subroutine. This assigns each element in one to each element in another. In this way we effectively initialize arrays.Array
Example. This program creates two five-element arrays. In VB.NET, when we create a five-element array we specify the maximum index of 4. In this program, we assign all five elements. Then we create another, separate array.
Array.Copy: This populates the elements of the target array with the elements of the source array. The two arrays are separate in memory.
VB.NET program that uses Array.Copy
' Source array of 5 elements.
Dim source(4) As Integer
source(0) = 1
source(1) = 10
source(2) = 100
source(3) = 1000
source(4) = 10000
' Create target array and use Array.Copy.
Dim target(4) As Integer
Array.Copy(source, target, target.Length)
' Change source array after copy was made.
source(0) = 300
' Display target array.
For Each element As Integer In target
Discussion. Several overloads of Array.Copy are available in the .NET Framework. The simplest overload is shown above—it copies a specified number of elements starting at the first element from one array to another.
With other overloads, we can specify a sourceIndex and a destinationIndex. This makes it possible to copy a range of elements at any location in one array to any location in another. We use offsets.
Tip: Using the simplest overload for the required task is ideal. But some programs are simpler overall with the complex overloads.
Summary. Arrays are powerful but are harder to initialize and copy in programs. With Array.Copy, and related subroutines such as Array.Resize, we manually manipulate arrays—their lengths and their elements.Array.Resize