C# | Copying the SortedList elements to an Array Object
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:
Please Login to comment...