Open In App

C# | Copying the SortedList elements to an Array Object

Improve
Improve
Like Article
Like
Save
Share
Report

SortedList.CopyTo(Array, Int32) Method is used to copy SortedList elements to a one-dimensional Array object, starting at the specified index in the array.

Syntax:

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

Parameters:

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

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

Exceptions:

  • ArgumentNullException: If the array is null.
  • ArgumentOutOfRangeException: If the arrayindex is less than zero.
  • ArgumentException: If the array is multidimensional or the number of elements in the source SortedList object is greater than the available space from arrayIndex to the end of the destination array.
  • InvalidCastException: If the type of the source SortedList cannot be cast automatically to the type of the destination array.

Below programs illustrate the use of above-discussed method:

Example 1:




// C# code to copy the SortedList elements
// to a 1-D Array object, starting at the
// specified index in the array
using System;
using System.Collections;
  
class Geeks {
  
    // Main Method
    public static void Main(String[] args)
    {
  
        // Creating a SortedList of integers
        SortedList mylist = new SortedList();
  
        // Adding elements to SortedList
        mylist.Add("1", "C#");
        mylist.Add("2", "Java");
        mylist.Add("3", "DSA");
        mylist.Add("4", "Python");
        mylist.Add("5", "C");
  
        // creating a 1-D array
        DictionaryEntry[] myArr = new DictionaryEntry[mylist.Count];
  
        // Copying SortedList to Array
        // instance at the specified index
        mylist.CopyTo(myArr, 0);
  
        // Displaying elements in myArr
        for (int i = 0; i < myArr.Length; i++) {
            Console.WriteLine(myArr[i].Key + "-->" + myArr[i].Value);
        }
    }
}


Output:

1-->C#
2-->Java
3-->DSA
4-->Python
5-->C

Example 2:




// C# code to copy the SortedList elements
// to a 1-D Array object, starting at the
// specified index in the array
using System;
using System.Collections;
  
class Geeks {
  
    // Main Method
    public static void Main(String[] args)
    {
  
        // Creating a SortedList of integers
        SortedList mylist = new SortedList();
  
        // Adding elements to SortedList
        mylist.Add("1st", "Ram");
        mylist.Add("2nd", "Shyam");
        mylist.Add("3rd", "Rohit");
        mylist.Add("4th", "Manish");
        mylist.Add("5th", "Vikas");
  
        // creating a 1-D array
        DictionaryEntry[] myArr = new DictionaryEntry[mylist.Count];
  
        // Copying SortedList to Array
        // instance at the specified index
        // This will raise "ArgumentOutOfRangeException"
        // as index is less than 0
        mylist.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:



Last Updated : 01 Feb, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads