ListDictionary::CopyTo Method (Array^, Int32)
Copies the ListDictionary 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 ListDictionary. 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 null. |
| ArgumentOutOfRangeException | index is less than zero. |
| ArgumentException | array is multidimensional. -or- The number of elements in the source ListDictionary is greater than the available space from index to the end of the destination array. |
| InvalidCastException | The type of the source ListDictionary 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 ListDictionary.
To copy only the keys in the ListDictionary, use ListDictionary.Keys.CopyTo.
To copy only the values in the ListDictionary, use ListDictionary.Values.CopyTo.
This method is an O(n) operation, where n is Count.
The following code example copies the elements of a ListDictionary 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 ListDictionary. ListDictionary^ myCol = gcnew ListDictionary; 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" ); // Displays the values in the ListDictionary in three different ways. Console::WriteLine( "Initial contents of the ListDictionary:" ); PrintKeysAndValues( myCol ); // Copies the ListDictionary 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 ListDictionary: KEY VALUE Braeburn Apples 1.49 Fuji Apples 1.29 Gala Apples 1.49 Golden Delicious Apples 1.29 Granny Smith Apples 0.89 Red Delicious Apples 0.99 Displays the elements in the array: KEY VALUE Braeburn Apples 1.49 Fuji Apples 1.29 Gala Apples 1.49 Golden Delicious Apples 1.29 Granny Smith Apples 0.89 Red Delicious Apples 0.99 */
Available since 10
.NET Framework
Available since 1.1