Dictionary<TKey,TValue>.ICollection.CopyTo(Array, Int32) Method


Copies the elements of the ICollection<T> to an array, starting at the specified array index.

 virtual void System.Collections.ICollection.CopyTo(Array ^ array, int index) = System::Collections::ICollection::CopyTo;
void ICollection.CopyTo (Array array, int index);
abstract member System.Collections.ICollection.CopyTo : Array * int -> unit
override this.System.Collections.ICollection.CopyTo : Array * int -> unit
Sub CopyTo (array As Array, index As Integer) Implements ICollection.CopyTo



The one-dimensional array that is the destination of the elements copied from ICollection<T>. The array must have zero-based indexing.


The zero-based index in array at which copying begins.



array is null.

index is less than 0.

array is multidimensional.


array does not have zero-based indexing.


The number of elements in the source ICollection<T> is greater than the available space from index to the end of the destination array.


The type of the source ICollection<T> cannot be cast automatically to the type of the destination array.


Each element copied from a Dictionary<TKey,TValue> is a KeyValuePair<TKey,TValue> structure representing a value and its key.


If the type of the source ICollection cannot be cast automatically to the type of the destination array, the nongeneric implementations of ICollection.CopyTo throw an InvalidCastException, whereas the generic implementations throw an ArgumentException.

This method is an O(n) operation, where n is Count.

Applies to