C# | Copy the entire LinkedList<T> to Array
LinkedList<T>.CopyTo(T[], Int32) method is used to copy the entire LinkedList<T> to a compatible one-dimensional Array, starting at the specified index of the target array.
Syntax:
public void CopyTo (T[] array, int index);
Parameters:
- array : It is the one-dimensional Array that is the destination of the elements copied from LinkedList. The Array must have zero-based indexing.
- index : It is the zero-based index in array at which copying begins.
Exceptions:
- ArgumentNullException : If the array is null.
- ArgumentOutOfRangeException : If the index is less than zero.
- ArgumentException : If the number of elements in the source LinkedList is greater than the available space from index to the end of the destination array.
Below given are some examples to understand the implementation in a better way:
Example 1:
using System;
using System.Collections;
using System.Collections.Generic;
class GFG {
public static void Main()
{
LinkedList<String> myList = new LinkedList<String>();
myList.AddLast( "A" );
myList.AddLast( "B" );
myList.AddLast( "C" );
myList.AddLast( "D" );
myList.AddLast( "E" );
string [] myArr = new string [1000];
myList.CopyTo(myArr, 0);
foreach ( string str in myArr)
{
Console.WriteLine(str);
}
}
}
|
Output:
A
B
C
D
E
Example 2:
using System;
using System.Collections;
using System.Collections.Generic;
class GFG {
public static void Main()
{
LinkedList< int > myList = new LinkedList< int >();
myList.AddLast(5);
myList.AddLast(7);
myList.AddLast(9);
myList.AddLast(11);
myList.AddLast(12);
int [] myArr = new int [100];
myList.CopyTo(myArr, -2);
foreach ( int i in myArr)
{
Console.WriteLine(i);
}
}
}
|
Runtime Error:
Unhandled Exception:
System.ArgumentOutOfRangeException: Non-negative number required.
Parameter name: index
Note:
- The elements are copied to the Array in the same order in which the enumerator iterates through the LinkedList.
- This method is an O(n) operation, where n is Count.
Reference:
Last Updated :
01 Feb, 2019
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...