C# | Copy StringDictionary to Array at the specified index (original) (raw)

Last Updated : 01 Feb, 2019

StringDictionary.CopyTo(Array, Int32) method is used to copy the string dictionary values to a one-dimensional Array instance at the specified index.Syntax:

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

Parameters:

Exceptions:

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

CSHARP `

// C# code to copy StringDictionary // to Array at the specified index using System; using System.Collections; using System.Collections.Specialized;

class GFG {

// Driver code
public static void Main()
{

    // Creating a StringDictionary named myDict
    StringDictionary myDict = new StringDictionary();

    // Adding key and value into the StringDictionary
    myDict.Add("A", "Apple");
    myDict.Add("B", "Banana");
    myDict.Add("C", "Cat");
    myDict.Add("D", "Dog");
    myDict.Add("E", "Elephant");

    // Creating an Array named myArr
    DictionaryEntry[] myArr = { new DictionaryEntry(),
                                new DictionaryEntry(),
                                new DictionaryEntry(),
                                new DictionaryEntry(),
                                new DictionaryEntry() };

    // Copying StringDictionary to
    // Array at the specified index
    myDict.CopyTo(myArr, 0);

    // Displaying key and value pairs in Array myArr
    for (int i = 0; i < myArr.Length; i++) {
        Console.WriteLine(myArr[i].Key + " " + myArr[i].Value);
    }
}

}

`

Output:

d Dog b Banana c Cat e Elephant a Apple

Example 2:

CSHARP `

// C# code to copy StringDictionary // to Array at the specified index using System; using System.Collections; using System.Collections.Specialized;

class GFG {

// Driver code
public static void Main()
{

    // Creating a StringDictionary named myDict
    StringDictionary myDict = new StringDictionary();

    // Adding key and value into the StringDictionary
    myDict.Add("A", "Apple");
    myDict.Add("B", "Banana");
    myDict.Add("C", "Cat");
    myDict.Add("D", "Dog");
    myDict.Add("E", "Elephant");

    // Creating an Array named myArr
    DictionaryEntry[] myArr = { new DictionaryEntry(),
                                new DictionaryEntry(),
                                new DictionaryEntry() };

    // Copying StringDictionary to
    // Array at the specified index
    // This should raise "ArgumentException" as
    // the number of elements in the StringDictionary
    // is greater than the available space from
    // index to the end of array.
    myDict.CopyTo(myArr, 0);

    // Displaying key and value pairs in Array myArr
    for (int i = 0; i < myArr.Length; i++) {
        Console.WriteLine(myArr[i].Key + " " + myArr[i].Value);
    }
}

}

`

Runtime Error:

Unhandled Exception: System.ArgumentException: Destination array is not long enough to copy all the items in the collection. Check array index and length.

Note:

Reference:

Similar Reads