HybridDictionary.CopyTo Method
Copies the HybridDictionary entries to a one-dimensional Array instance at the specified index.
[Visual Basic] Public Overridable Sub CopyTo( _ ByVal array As Array, _ ByVal index As Integer _ ) Implements ICollection.CopyTo [C#] public virtual void CopyTo( Array array, int index ); [C++] public: virtual void CopyTo( Array* array, int index ); [JScript] public function CopyTo( array : Array, index : int );
Parameters
- array
- The one-dimensional Array that is the destination of the DictionaryEntry objects copied from HybridDictionary. The Array must have zero-based indexing.
- index
- The zero-based index in array at which copying begins.
Implements
Exceptions
| Exception Type | Condition |
|---|---|
| ArgumentNullException | array is a null reference (Nothing in Visual Basic). |
| ArgumentOutOfRangeException | index is less than zero. |
| ArgumentException | array is multidimensional.
-or- arrayIndex is equal to or greater than the length of array. -or- The number of elements in the source HybridDictionary is greater than the available space from arrayIndex to the end of the destination array. |
| InvalidCastException | The type of the source HybridDictionary cannot be cast automatically to the type of the destination array. |
Remarks
The elements are copied to the Array in the same order in which the enumerator iterates through the HybridDictionary.
To copy only the keys in the HybridDictionary, use HybridDictionary.Keys.CopyTo.
To copy only the values in the HybridDictionary, use HybridDictionary.Values.CopyTo.
Example
[Visual Basic, C#, C++] The following code example copies the elements of a HybridDictionary to an array.
[Visual Basic] Imports System Imports System.Collections Imports System.Collections.Specialized Public Class SamplesHybridDictionary Public Shared Sub Main() ' Creates and initializes a new HybridDictionary. Dim myCol As New HybridDictionary() myCol.Add("Braeburn Apples", "1.49") myCol.Add("Fuji Apples", "1.29") myCol.Add("Gala Apples", "1.49") myCol.Add("Golden Delicious Apples", "1.29") myCol.Add("Granny Smith Apples", "0.89") myCol.Add("Red Delicious Apples", "0.99") myCol.Add("Plantain Bananas", "1.49") myCol.Add("Yellow Bananas", "0.79") myCol.Add("Strawberries", "3.33") myCol.Add("Cranberries", "5.98") myCol.Add("Navel Oranges", "1.29") myCol.Add("Grapes", "1.99") myCol.Add("Honeydew Melon", "0.59") myCol.Add("Seedless Watermelon", "0.49") myCol.Add("Pineapple", "1.49") myCol.Add("Nectarine", "1.99") myCol.Add("Plums", "1.69") myCol.Add("Peaches", "1.99") ' Displays the values in the HybridDictionary in three different ways. Console.WriteLine("Initial contents of the HybridDictionary:") PrintKeysAndValues(myCol) ' Copies the HybridDictionary to an array with DictionaryEntry elements. Dim myArr(myCol.Count) As DictionaryEntry myCol.CopyTo(myArr, 0) ' Displays the values in the array. Console.WriteLine("Displays the elements in the array:") Console.WriteLine(" KEY VALUE") Dim i As Integer For i = 0 To myArr.Length - 1 Console.WriteLine(" {0,-25} {1}", myArr(i).Key, myArr(i).Value) Next i Console.WriteLine() End Sub 'Main Public Shared Sub PrintKeysAndValues(myCol As IDictionary) Console.WriteLine(" KEY VALUE") Dim de As DictionaryEntry For Each de In myCol Console.WriteLine(" {0,-25} {1}", de.Key, de.Value) Next de Console.WriteLine() End Sub 'PrintKeysAndValues End Class 'SamplesHybridDictionary 'This code produces the following output. ' 'Initial contents of the HybridDictionary: ' KEY VALUE ' Seedless Watermelon 0.49 ' Nectarine 1.99 ' Cranberries 5.98 ' Plantain Bananas 1.49 ' Honeydew Melon 0.59 ' Pineapple 1.49 ' Strawberries 3.33 ' Grapes 1.99 ' Braeburn Apples 1.49 ' Peaches 1.99 ' Red Delicious Apples 0.99 ' Golden Delicious Apples 1.29 ' Yellow Bananas 0.79 ' Granny Smith Apples 0.89 ' Gala Apples 1.49 ' Plums 1.69 ' Navel Oranges 1.29 ' Fuji Apples 1.29 ' 'Displays the elements in the array: ' KEY VALUE ' Seedless Watermelon 0.49 ' Nectarine 1.99 ' Cranberries 5.98 ' Plantain Bananas 1.49 ' Honeydew Melon 0.59 ' Pineapple 1.49 ' Strawberries 3.33 ' Grapes 1.99 ' Braeburn Apples 1.49 ' Peaches 1.99 ' Red Delicious Apples 0.99 ' Golden Delicious Apples 1.29 ' Yellow Bananas 0.79 ' Granny Smith Apples 0.89 ' Gala Apples 1.49 ' Plums 1.69 ' Navel Oranges 1.29 ' Fuji Apples 1.29 [C#] using System; using System.Collections; using System.Collections.Specialized; public class SamplesHybridDictionary { public static void Main() { // Creates and initializes a new HybridDictionary. HybridDictionary myCol = new HybridDictionary(); myCol.Add( "Braeburn Apples", "1.49" ); myCol.Add( "Fuji Apples", "1.29" ); myCol.Add( "Gala Apples", "1.49" ); myCol.Add( "Golden Delicious Apples", "1.29" ); myCol.Add( "Granny Smith Apples", "0.89" ); myCol.Add( "Red Delicious Apples", "0.99" ); myCol.Add( "Plantain Bananas", "1.49" ); myCol.Add( "Yellow Bananas", "0.79" ); myCol.Add( "Strawberries", "3.33" ); myCol.Add( "Cranberries", "5.98" ); myCol.Add( "Navel Oranges", "1.29" ); myCol.Add( "Grapes", "1.99" ); myCol.Add( "Honeydew Melon", "0.59" ); myCol.Add( "Seedless Watermelon", "0.49" ); myCol.Add( "Pineapple", "1.49" ); myCol.Add( "Nectarine", "1.99" ); myCol.Add( "Plums", "1.69" ); myCol.Add( "Peaches", "1.99" ); // Displays the values in the HybridDictionary in three different ways. Console.WriteLine( "Initial contents of the HybridDictionary:" ); PrintKeysAndValues( myCol ); // Copies the HybridDictionary to an array with DictionaryEntry elements. DictionaryEntry[] myArr = new DictionaryEntry[myCol.Count]; myCol.CopyTo( myArr, 0 ); // Displays the values in the array. Console.WriteLine( "Displays the elements in the array:" ); Console.WriteLine( " KEY VALUE" ); for ( int i = 0; i < myArr.Length; i++ ) Console.WriteLine( " {0,-25} {1}", myArr[i].Key, myArr[i].Value ); Console.WriteLine(); } public static void PrintKeysAndValues( IDictionary myCol ) { Console.WriteLine( " KEY VALUE" ); foreach ( DictionaryEntry de in myCol ) Console.WriteLine( " {0,-25} {1}", de.Key, de.Value ); Console.WriteLine(); } } /* This code produces the following output. Initial contents of the HybridDictionary: KEY VALUE Seedless Watermelon 0.49 Nectarine 1.99 Cranberries 5.98 Plantain Bananas 1.49 Honeydew Melon 0.59 Pineapple 1.49 Strawberries 3.33 Grapes 1.99 Braeburn Apples 1.49 Peaches 1.99 Red Delicious Apples 0.99 Golden Delicious Apples 1.29 Yellow Bananas 0.79 Granny Smith Apples 0.89 Gala Apples 1.49 Plums 1.69 Navel Oranges 1.29 Fuji Apples 1.29 Displays the elements in the array: KEY VALUE Seedless Watermelon 0.49 Nectarine 1.99 Cranberries 5.98 Plantain Bananas 1.49 Honeydew Melon 0.59 Pineapple 1.49 Strawberries 3.33 Grapes 1.99 Braeburn Apples 1.49 Peaches 1.99 Red Delicious Apples 0.99 Golden Delicious Apples 1.29 Yellow Bananas 0.79 Granny Smith Apples 0.89 Gala Apples 1.49 Plums 1.69 Navel Oranges 1.29 Fuji Apples 1.29 */ [C++] #using <mscorlib.dll> #using <System.dll> using namespace System; using namespace System::Collections; using namespace System::Collections::Specialized; void PrintKeysAndValues( IDictionary* myCol ) { Console::WriteLine( S" KEY VALUE" ); IEnumerator* myEnum = myCol->GetEnumerator(); while (myEnum->MoveNext()) { DictionaryEntry de = *__try_cast<DictionaryEntry*>(myEnum->Current); Console::WriteLine( S" {0,-25} {1}", de.Key, de.Value ); } Console::WriteLine(); } int main() { // Creates and initializes a new HybridDictionary. HybridDictionary* myCol = new HybridDictionary(); myCol->Add( S"Braeburn Apples", S"1.49" ); myCol->Add( S"Fuji Apples", S"1.29" ); myCol->Add( S"Gala Apples", S"1.49" ); myCol->Add( S"Golden Delicious Apples", S"1.29" ); myCol->Add( S"Granny Smith Apples", S"0.89" ); myCol->Add( S"Red Delicious Apples", S"0.99" ); myCol->Add( S"Plantain Bananas", S"1.49" ); myCol->Add( S"Yellow Bananas", S"0.79" ); myCol->Add( S"Strawberries", S"3.33" ); myCol->Add( S"Cranberries", S"5.98" ); myCol->Add( S"Navel Oranges", S"1.29" ); myCol->Add( S"Grapes", S"1.99" ); myCol->Add( S"Honeydew Melon", S"0.59" ); myCol->Add( S"Seedless Watermelon", S"0.49" ); myCol->Add( S"Pineapple", S"1.49" ); myCol->Add( S"Nectarine", S"1.99" ); myCol->Add( S"Plums", S"1.69" ); myCol->Add( S"Peaches", S"1.99" ); // Displays the values in the HybridDictionary in three different ways. Console::WriteLine( S"Initial contents of the HybridDictionary:" ); PrintKeysAndValues( myCol ); // Copies the HybridDictionary to an array with DictionaryEntry elements. DictionaryEntry myArr[] = new DictionaryEntry[myCol->Count]; myCol->CopyTo( myArr, 0 ); // Displays the values in the array. Console::WriteLine( S"Displays the elements in the array:" ); Console::WriteLine( S" KEY VALUE" ); for ( int i = 0; i < myArr->Length; i++ ) Console::WriteLine( S" {0,-25} {1}", myArr[i].Key, myArr[i].Value ); Console::WriteLine(); } /* This code produces the following output. Initial contents of the HybridDictionary: KEY VALUE Seedless Watermelon 0.49 Nectarine 1.99 Cranberries 5.98 Plantain Bananas 1.49 Honeydew Melon 0.59 Pineapple 1.49 Strawberries 3.33 Grapes 1.99 Braeburn Apples 1.49 Peaches 1.99 Red Delicious Apples 0.99 Golden Delicious Apples 1.29 Yellow Bananas 0.79 Granny Smith Apples 0.89 Gala Apples 1.49 Plums 1.69 Navel Oranges 1.29 Fuji Apples 1.29 Displays the elements in the array: KEY VALUE Seedless Watermelon 0.49 Nectarine 1.99 Cranberries 5.98 Plantain Bananas 1.49 Honeydew Melon 0.59 Pineapple 1.49 Strawberries 3.33 Grapes 1.99 Braeburn Apples 1.49 Peaches 1.99 Red Delicious Apples 0.99 Golden Delicious Apples 1.29 Yellow Bananas 0.79 Granny Smith Apples 0.89 Gala Apples 1.49 Plums 1.69 Navel Oranges 1.29 Fuji Apples 1.29 */
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework
See Also
HybridDictionary Class | HybridDictionary Members | System.Collections.Specialized Namespace | Array | DictionaryEntry | GetEnumerator