April 2003
Intermediate to advanced
560 pages
14h 4m
English
The ArrayList, Queue, and Stack types contain overloaded CopyTo( ) and ToArray( ) methods for copying their elements to an array. The CopyTo( ) method copies its elements to an existing one-dimensional array, overwriting the contents of the array beginning at the index you specify. The ToArray( ) method returns a new array with the contents of the type’s elements.
In the case of a Stack, ToArray( ) would return a new array containing the elements in the Stack. CopyTo( ) would copy the Stack over a pre-existing array. Example 9-17 modifies Example 9-16 to demonstrate both methods. The listing is followed by a complete analysis.
Example 9-17. Copying from a Stack to an array
Option Strict On Imports System Namespace StackDemo Class Tester Public Sub Run( ) Dim intStack As New Stack( ) 'populate the array Dim i As Integer For i = 1 To 4 intStack.Push((i * 5)) Next i 'display the Stack Console.WriteLine("intStack values:") DisplayValues(intStack) Const arraySize As Integer = 10 Dim testArray(arraySize) As Integer 'populate the array For i = 1 To arraySize - 1 testArray(i) = i * 100 Next i Console.WriteLine("Contents of the test array") DisplayValues(testArray) 'copy the intStack into the new array, start offset 3 intStack.CopyTo(testArray, 3) Console.WriteLine("TestArray after copy: ") DisplayValues(testArray) 'copy the entire source Stack ' to a new standard array Dim myArray As Object( ) = intStack.ToArray( ) 'display the values of the ...