Hashtable::CopyTo Method (Array^, Int32)
Assembly: mscorlib (in mscorlib.dll)
Parameters
- array
-
Type:
System::Array^
The one-dimensional Array that is the destination of the DictionaryEntry objects copied from Hashtable. The Array must have zero-based indexing.
- arrayIndex
-
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 | arrayIndex is less than zero. |
| ArgumentException | array is multidimensional. -or- The number of elements in the source Hashtable is greater than the available space from arrayIndex to the end of the destination array. |
| InvalidCastException | The type of the source Hashtable cannot be cast automatically to the type of the destination array. |
The following example shows how to copy the list of keys or the list of values in a Hashtable into a one-dimensional Array.
using namespace System; using namespace System::Collections; void PrintValues( array<String^>^myArr, char mySeparator ); int main() { // Creates and initializes the source Hashtable. Hashtable^ mySourceHT = gcnew Hashtable; mySourceHT->Add( "A", "valueA" ); mySourceHT->Add( "B", "valueB" ); // Creates and initializes the one-dimensional target Array. array<String^>^myTargetArray = gcnew array<String^>(15); myTargetArray[ 0 ] = "The"; myTargetArray[ 1 ] = "quick"; myTargetArray[ 2 ] = "brown"; myTargetArray[ 3 ] = "fox"; myTargetArray[ 4 ] = "jumped"; myTargetArray[ 5 ] = "over"; myTargetArray[ 6 ] = "the"; myTargetArray[ 7 ] = "lazy"; myTargetArray[ 8 ] = "dog"; // Displays the values of the target Array. Console::WriteLine( "The target Array contains the following before:" ); PrintValues( myTargetArray, ' ' ); // Copies the keys in the source Hashtable to the target Hashtable, starting at index 6. Console::WriteLine( "After copying the keys, starting at index 6:" ); mySourceHT->Keys->CopyTo( myTargetArray, 6 ); // Displays the values of the target Array. PrintValues( myTargetArray, ' ' ); // Copies the values in the source Hashtable to the target Hashtable, starting at index 6. Console::WriteLine( "After copying the values, starting at index 6:" ); mySourceHT->Values->CopyTo( myTargetArray, 6 ); // Displays the values of the target Array. PrintValues( myTargetArray, ' ' ); } void PrintValues( array<String^>^myArr, char mySeparator ) { for ( int i = 0; i < myArr->Length; i++ ) Console::Write( "{0}{1}", mySeparator, myArr[ i ] ); Console::WriteLine(); } /* This code produces the following output. The target Array contains the following before: The quick brown fox jumped over the lazy dog After copying the keys, starting at index 6: The quick brown fox jumped over B A dog After copying the values, starting at index 6: The quick brown fox jumped over valueB valueA dog */
Available since 10
.NET Framework
Available since 1.1