Skip to main content
.NET Framework Class Library
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)
Syntax
Public Sub CopyTo ( _
	sourceIndex As Integer, _
	destination As Char(), _
	destinationIndex As Integer, _
	count As Integer _
)
public void CopyTo(
	int sourceIndex,
	char[] destination,
	int destinationIndex,
	int count
)
public:
void CopyTo(
	int sourceIndex, 
	array<wchar_t>^ destination, 
	int destinationIndex, 
	int count
)
member CopyTo : 
        sourceIndex:int * 
        destination:char[] * 
        destinationIndex:int * 
        count:int -> unit 

Parameters

sourceIndex
Type: System..::.Int32
The index of the first character in this instance to copy.
destination
Type: array<System..::.Char>[]()[]
An array of Unicode characters to which characters in this instance are copied.
destinationIndex
Type: System..::.Int32
The index in destination at which the copy operation begins.
count
Type: System..::.Int32
The number of characters in this instance to copy to destination.
Exceptions
ExceptionCondition
ArgumentNullException

destination is nullNothingnullptra null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

sourceIndex, destinationIndex, or count is negative

-or-

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

-or-

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

Remarks

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

sourceIndex and destinationIndex are zero-based.

Examples

The following example demonstrates the CopyTo method.


Public Class CopyToTest
    Public Shared Sub Main()
        ' Embed an array of characters in a string
        Dim strSource As String = "changed"
        Dim destination As Char() = {"T"c, "h"c, "e"c, " "c, "i"c, "n"c, "i"c, _
                    "t"c, "i"c, "a"c, "l"c, " "c, "a"c, "r"c, "r"c, "a"c, "y"c}

        ' 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)
    End Sub 
End Class 
' The example displays the following output to the console:
'       The initial array
'       The changed array
'       Thedifferentarray


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 to the console:
//       The initial array
//       The changed array
//       Thedifferentarray


using namespace System;
int main()
{

   // Embed an array of characters in a string
   String^ strSource = "changed";
   array<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 );
}


Version Information

.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
Platforms

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.
Microsoft is conducting an online survey to understand your opinion of the MSDN Web site. If you choose to participate, the online survey will be presented to you when you leave the MSDN Web site.

Would you like to participate?