HybridDictionary::CopyTo Method
Copies the HybridDictionary entries to a one-dimensional Array instance at the specified index.
Assembly: System (in System.dll)
Parameters
- array
- Type: System::Array
The one-dimensional Array that is the destination of the DictionaryEntry objects copied from HybridDictionary. The Array must have zero-based indexing.
- index
- Type: System::Int32
The zero-based index in array at which copying begins.
Implements
ICollection::CopyTo(Array, Int32)| Exception | Condition |
|---|---|
| ArgumentNullException | array is nullptr. |
| ArgumentOutOfRangeException | index is less than zero. |
| ArgumentException | array is multidimensional. -or- The number of elements in the source HybridDictionary is greater than the available space from index 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. |
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.
This method is an O(n) operation, where n is Count.
The following code example copies the elements of a HybridDictionary to an array.
#using <System.dll> using namespace System; using namespace System::Collections; using namespace System::Collections::Specialized; void PrintKeysAndValues( IDictionary^ myCol ) { Console::WriteLine( " KEY VALUE" ); IEnumerator^ myEnum = myCol->GetEnumerator(); while ( myEnum->MoveNext() ) { DictionaryEntry de = safe_cast<DictionaryEntry>(myEnum->Current); Console::WriteLine( " {0,-25} {1}", de.Key, de.Value ); } Console::WriteLine(); } int main() { // Creates and initializes a new HybridDictionary. HybridDictionary^ myCol = gcnew 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. array<DictionaryEntry>^myArr = gcnew array<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(); } /* 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 */
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.