Open In App

C# | Copying the Hashtable elements to an Array Instance

Hashtable.CopyTo(Array, Int32) Method is used to copy the elements of a Hashtable to a one-dimensional Array instance at the specified index.
Syntax: 
 

public virtual void CopyTo (Array array, int arrayIndex);

Parameters:
 



array : The one-dimensional Array that is the destination of the DictionaryEntry objects copied from Hashtable. The Array must have zero-based indexing.
index : The zero-based index in array at which copying begins. 
 

Exceptions: 
 



Below programs illustrate the use of Hashtable.CopyTo(Array, Int32) Method:
Example 1:
 




// C# code to copy the Hashtable
// elements to a one-dimensional Array
// instance at the specified index.
using System;
using System.Collections;
 
class GFG {
 
    // Driver code
    public static void Main()
    {
 
        // Creating a Hashtable named myhash
        Hashtable myhash = new Hashtable();
 
        // Adding key/value pairs in myhash
        myhash.Add("A", "Apple");
        myhash.Add("B", "Banana");
        myhash.Add("C", "Cat");
        myhash.Add("D", "Dog");
        myhash.Add("E", "Elephant");
        myhash.Add("F", "Fish");
 
        // Creating a one-dimensional Array named myArr
        DictionaryEntry[] myArr = new DictionaryEntry[myhash.Count];
 
        // copying the Hashtable entries
        // to a one-dimensional Array instance
        // at the specified index
        myhash.CopyTo(myArr, 0);
 
        for (int i = 0; i < myArr.Length; i++)
            Console.WriteLine(myArr[i].Key + " --> "
                              + myArr[i].Value);
    }
}

Output: 
 

B --> Banana
C --> Cat
A --> Apple
F --> Fish
D --> Dog
E --> Elephant

Example 2:
 




// C# code to copy the Hashtable
// elements to a one-dimensional Array
// instance at the specified index.
using System;
using System.Collections;
 
class GFG {
 
    // Driver code
    public static void Main()
    {
 
        // Creating a Hashtable named myhash
        Hashtable myhash = new Hashtable();
 
        // Adding key/value pairs in myhash
        myhash.Add("A", "Apple");
        myhash.Add("B", "Banana");
        myhash.Add("C", "Cat");
        myhash.Add("D", "Dog");
        myhash.Add("E", "Elephant");
        myhash.Add("F", "Fish");
 
        // Creating a one-dimensional Array named myArr
        DictionaryEntry[] myArr = new DictionaryEntry[myhash.Count];
 
        // copying the HybridDictionary entries
        // to a one-dimensional Array instance
        // at the specified index
        // This should raise "ArgumentOutOfRangeException"
        // as index is less than 0
        myhash.CopyTo(myArr, -2);
 
        for (int i = 0; i < myArr.Length; i++)
            Console.WriteLine(myArr[i].Key + " --> "
                              + myArr[i].Value);
    }
}

Runtime Error:
 

Unhandled Exception: 
System.ArgumentOutOfRangeException: Non-negative number required. 
Parameter name: arrayIndex 
 

Note: 
 

Reference: 
 

 


Article Tags :
C#