This documentation is archived and is not being maintained.

String.CopyTo Method

Copies a specified number of characters from a specified position in this instance to a specified position in an array of Unicode characters.

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

public void CopyTo(
	int sourceIndex,
	char[] destination,
	int destinationIndex,
	int count


Type: System.Int32
The index of the first character in this instance to copy.
Type: System.Char[]
An array of Unicode characters to which characters in this instance are copied.
Type: System.Int32
The index in destination at which the copy operation begins.
Type: System.Int32
The number of characters in this instance to copy to destination.


destination is null.


sourceIndex, destinationIndex, or count is negative


count is greater than the length of the substring from startIndex to the end of this instance


count is greater than the length of the subarray from destinationIndex to the end of destination

count characters are copied from the sourceIndex position of this instance to the destinationIndex position of destination.

sourceIndex and destinationIndex are zero-based.

The following example demonstrates the CopyTo method.

using System;

public class CopyToTest {
    public static void Main() {

        // Embed an array of characters in a string
        string strSource = "changed";
    char [] destination = { 'T', 'h', 'e', ' ', 'i', 'n', 'i', 't', 'i', 'a', 'l', ' ',
                'a', 'r', 'r', 'a', 'y' };

        // Print the char array
        Console.WriteLine( destination );

        // Embed the source string in the destination string
        strSource.CopyTo ( 0, destination, 4, strSource.Length );

        // Print the resulting array
        Console.WriteLine( destination );

        strSource = "A different string";

        // Embed only a section of the source string in the destination
        strSource.CopyTo ( 2, destination, 3, 9 );

        // Print the resulting array
        Console.WriteLine( destination );
// The example displays the following output:
//       The initial array
//       The changed array
//       Thedifferentarray

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.