Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

C# | Copy OrderedDictionary elements to Array instance at the specified index

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

OrderedDictionary.CopyTo(Array, Int32) method is used to copy the OrderedDictionary elements to a one-dimensional Array object at the specified index.

Syntax:

public void CopyTo (Array array, int index);

Parameters:

array: It is the one-dimensional Array which is the destination of the DictionaryEntry objects copied from OrderedDictionary. The Array must have zero-based indexing.

index: it is the zero-based index in array at which copying begins.

Note: OrderedDictionary.CopyTo(Array, Int32) method doesn’t provide any guarantee to maintain the order of the elements in the OrderedDictionary collection.

Below programs illustrate the use of the above-discussed method:

Example 1:




// C# code to copy OrderedDictionary to
// Array instance at the specified index
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a orderedDictionary named myDict
        OrderedDictionary myDict = new OrderedDictionary();
  
        // Adding key and value in myDict
        myDict.Add("key1", "value1");
        myDict.Add("key2", "value2");
        myDict.Add("key3", "value3");
        myDict.Add("key4", "value4");
        myDict.Add("key5", "value5");
  
        DictionaryEntry[] myArr = new DictionaryEntry[myDict.Count];
  
        // Copying OrderedDictionary to Array
        // instance at the specified index
        myDict.CopyTo(myArr, 0);
  
        // Displaying elements in myArr
        for (int i = 0; i < myArr.Length; i++) {
            Console.WriteLine(myArr[i].Key + "-->" 
                                + myArr[i].Value);
        }
    }
}

Output:

key3-->value3
key4-->value4
key5-->value5
key2-->value2
key1-->value1

Example 2:




// C# code to copy OrderedDictionary to
// Array instance at the specified index
// that give ArgumentOutOfRangeException
// due to the negative index
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a orderedDictionary named myDict
        OrderedDictionary myDict = new OrderedDictionary();
  
        // Adding key and value in myDict
        myDict.Add("C", "1");
        myDict.Add("C++", "2");
        myDict.Add("Java", "3");
        myDict.Add("C#", "4");
  
        DictionaryEntry[] myArr = new DictionaryEntry[myDict.Count];
  
        // Copying OrderedDictionary to Array
        // instance at the specified index
        // This will raise "ArgumentOutOfRangeException"
        // as index is less than 0
        myDict.CopyTo(myArr, -2);
  
        // Displaying elements in myArr
        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

Reference:


My Personal Notes arrow_drop_up
Last Updated : 01 Feb, 2019
Like Article
Save Article
Similar Reads