SortedList: CopyTo |
Copies SortedList elements to a one-dimensional array, starting at the specified index in the array.
Public Sub CopyTo( ByRef Arr As Variant, ByVal ArrayIndex As Long )
The key/value pairs are copied to the array in the same order in which the enumerator iterates through the SortedList object.
To copy only the keys in the SortedList, use SortedList.Keys.CopyTo
.
To copy only the values in the SortedList, use SortedList.Values.CopyTo
.
Exception | Condition |
---|---|
ArgumentNullException | Arr is uninitialized. |
ArgumentOutOfRangeException | ArrayIndex is less than the lower-bound of Arr. |
ArgumentException |
Arr is multidimensional. -or- The number of elements in the source SortedList object is greater than the available space from ArrayIndex to the end of the destination array. |
InvalidCastException | The type of the source SortedList cannot be cast automatically to the type of the destination array. |
The following code example shows how to copy the values in a SortedList object into a one-dimensional array.
Public Sub Main() Dim List As New SortedList Dim TempArray() As String Dim TargetArray() As DictionaryEntry Dim i As Long List.Add 2, "cats" List.Add 3, "in" List.Add 1, "napping" List.Add 4, "the" List.Add 0, "three" List.Add 5, "barn" TempArray = NewStrings("The", "quick", "brown", "fox", "jumped", "over", "the", "lazy", "dog") ReDim TargetArray(0 To 14) For i = 0 To UBound(TargetArray) If i <= UBound(TempArray) Then Set TargetArray(i) = NewDictionaryEntry(i, TempArray(i)) Else Set TargetArray(i) = NewDictionaryEntry(i, "") End If Next Debug.Print "The target Array contains the following (before and after copying):" PrintValues TargetArray List.CopyTo TargetArray, 6 PrintValues TargetArray End Sub Private Sub PrintValues(ByRef Arr() As DictionaryEntry) Dim i As Long For i = LBound(Arr) To UBound(Arr) Debug.Print " "; Arr(i).Value; Next Debug.Print End Sub ' The code produces the following output. ' ' The target Array contains the following (before and after copying): ' The quick brown fox jumped over the lazy dog ' The quick brown fox jumped over three napping cats in the barn