System.Collections.ICollection.CopyTo Method

List.System.Collections.ICollection.CopyTo Method

Copies the elements of the ICollection to an Array, starting at a particular Array index.

Namespace: System.Collections.Generic
Assembly: mscorlib (in mscorlib.dll)

void ICollection.CopyTo (
	Array array,
	int arrayIndex
Not applicable.



The one-dimensional Array that is the destination of the elements copied from ICollection. The Array must have zero-based indexing.


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

Exception typeCondition


array is a null reference (Nothing in Visual Basic).


arrayIndex is less than 0.


array is multidimensional.


array does not have zero-based indexing.


arrayIndex is equal to or greater than the length of array.


The number of elements in the source ICollection is greater than the available space from arrayIndex to the end of the destination array.


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


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 InvalidCastException, whereas the generic implementations throw ArgumentException.

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

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

.NET Compact Framework

Supported in: 2.0

Community Additions

© 2015 Microsoft