C# | Copying the SortedList elements to an Array Object - GeeksforGeeks

01 Feb, 2019
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 arrayusing 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 arrayusing 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:
https://docs.microsoft.com/en-us/dotnet/api/system.collections.sortedlist.copyto?view=netframework-4.7.2
CSharp-Collections-Namespace
CSharp-Collections-SortedList
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Difference between Ref and Out keywords in C#
C# | Delegates
Top 50 C# Interview Questions & Answers
C# | Constructors
Introduction to .NET Framework
Extension Method in C#
C# | Class and Object
C# | Abstract Classes
Different ways to sort an array in descending order in C#
Common Language Runtime (CLR) in C#