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

Last Updated : 01 Feb, 2019

ListDictionary.CopyTo(Array, Int32) method is used to copy the ListDictionary entries to a one-dimensional Array instance 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 ListDictionary. The Array must have zero-based indexing.index : The zero-based index in array at which copying begins.

Exceptions:

Below given are some examples to understand the implementation in a better way:Example 1:

CSHARP `

// C# code to copy ListDictionary 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 ListDictionary named myDict
    ListDictionary myDict = new ListDictionary();

    myDict.Add("Australia", "Canberra");
    myDict.Add("Belgium", "Brussels");
    myDict.Add("Netherlands", "Amsterdam");
    myDict.Add("China", "Beijing");
    myDict.Add("Russia", "Moscow");
    myDict.Add("India", "New Delhi");

    DictionaryEntry[] myArr = new DictionaryEntry[myDict.Count];

    // Copying ListDictionary 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:

Australia-->Canberra Belgium-->Brussels Netherlands-->Amsterdam China-->Beijing Russia-->Moscow India-->New Delhi

Example 2:

CSHARP `

// C# code to copy ListDictionary 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 ListDictionary named myDict
    ListDictionary myDict = new ListDictionary();

    myDict.Add("Australia", "Canberra");
    myDict.Add("Belgium", "Brussels");
    myDict.Add("Netherlands", "Amsterdam");
    myDict.Add("China", "Beijing");
    myDict.Add("Russia", "Moscow");
    myDict.Add("India", "New Delhi");

    DictionaryEntry[] myArr = new DictionaryEntry[myDict.Count];

    // Copying ListDictionary to Array
    // instance at the specified index
    // This should 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: Index is less than zero. Parameter name: index

Note:

Reference:

Similar Reads