StringBuilder.CopyTo 메서드

정의

오버로드

CopyTo(Int32, Span<Char>, Int32)

이 인스턴스의 지정된 세그먼트에서 대상 Char 범위로 문자를 복사합니다.Copies the characters from a specified segment of this instance to a destination Char span.

CopyTo(Int32, Char[], Int32, Int32)

이 인스턴스에서 지정한 세그먼트의 문자를 대상 Char 배열에서 지정한 세그먼트에 복사합니다.Copies the characters from a specified segment of this instance to a specified segment of a destination Char array.

CopyTo(Int32, Span<Char>, Int32)

이 인스턴스의 지정된 세그먼트에서 대상 Char 범위로 문자를 복사합니다.Copies the characters from a specified segment of this instance to a destination Char span.

public:
 void CopyTo(int sourceIndex, Span<char> destination, int count);
public void CopyTo (int sourceIndex, Span<char> destination, int count);
member this.CopyTo : int * Span<char> * int -> unit
Public Sub CopyTo (sourceIndex As Integer, destination As Span(Of Char), count As Integer)

매개 변수

sourceIndex
Int32

이 인스턴스에서 문자가 복사되기 시작하는 위치입니다.The starting position in this instance where characters will be copied from. 인덱스는 0부터 시작합니다.The index is zero-based.

destination
Span<Char>

문자가 복사될 쓰기 가능한 범위입니다.The writable span where characters will be copied.

count
Int32

복사될 문자 수입니다.The number of characters to be copied.

설명

CopyTo 메서드는 StringBuilder 개체의 연속 된 섹션을 범위에 효율적으로 복사 해야 하는 드문 경우에 사용 하기 위한 것입니다.The CopyTo method is intended to be used in the rare situation when you need to efficiently copy successive sections of a StringBuilder object to an span.

예를 들어 응용 프로그램에서 StringBuilder 개체를 많은 문자로 채운 다음 CopyTo 메서드를 사용 하 여 StringBuilder 개체의 작은 부분을 처리 하는 범위에 복사 합니다.For example, your application could populate a StringBuilder object with a large number of characters then use the CopyTo method to copy small, successive pieces of the StringBuilder object to an span where the pieces are processed. StringBuilder 개체의 모든 데이터가 처리 되 면 StringBuilder 개체의 크기가 0으로 설정 되 고 주기가 반복 됩니다.When all the data in the StringBuilder object is processed, the size of the StringBuilder object is set to zero and the cycle is repeated.

CopyTo(Int32, Char[], Int32, Int32)

이 인스턴스에서 지정한 세그먼트의 문자를 대상 Char 배열에서 지정한 세그먼트에 복사합니다.Copies the characters from a specified segment of this instance to a specified segment of a destination Char array.

public:
 void CopyTo(int sourceIndex, cli::array <char> ^ destination, int destinationIndex, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public void CopyTo (int sourceIndex, char[] destination, int destinationIndex, int count);
member this.CopyTo : int * char[] * int * int -> unit
Public Sub CopyTo (sourceIndex As Integer, destination As Char(), destinationIndex As Integer, count As Integer)

매개 변수

sourceIndex
Int32

이 인스턴스에서 문자가 복사되기 시작하는 위치입니다.The starting position in this instance where characters will be copied from. 인덱스는 0부터 시작합니다.The index is zero-based.

destination
Char[]

문자가 복사될 배열입니다.The array where characters will be copied.

destinationIndex
Int32

destination에서 문자가 복사될 위치입니다.The starting position in destination where characters will be copied. 인덱스는 0부터 시작합니다.The index is zero-based.

count
Int32

복사될 문자 수입니다.The number of characters to be copied.

특성

예외

destinationnull인 경우destination is null.

sourceIndex, destinationIndex 또는 count가 0보다 작습니다.sourceIndex, destinationIndex, or count, is less than zero.

-또는--or-

sourceIndex가 이 인스턴스의 길이보다 큽니다.sourceIndex is greater than the length of this instance.

sourceIndex + count가 이 인스턴스의 길이보다 큽니다.sourceIndex + count is greater than the length of this instance.

-또는--or-

destinationIndex + countdestination의 길이보다 큽니다.destinationIndex + count is greater than the length of destination.

예제

다음 예제는 CopyTo 메서드.The following example demonstrates the CopyTo method.

// This example demonstrates the CopyTo(Int32, Char[], Int32, Int32) method.
// Typically the destination array is small, preallocated, and global while 
// the StringBuilder is large with programmatically defined data. 
// However, for this example both the array and StringBuilder are small 
// and the StringBuilder has predefined data.

using namespace System;
using namespace System::Text;

int main()
{
   array<Char>^dest = gcnew array<Char>(6);
   StringBuilder^ src = gcnew StringBuilder( "abcdefghijklmnopqrstuvwxyz!" );
   dest[ 1 ] = ')';
   dest[ 2 ] = ' ';

   // Copy the source to the destination in 9 pieces, 3 characters per piece.
   Console::WriteLine( "\nPiece) Data:" );
   for ( int ix = 0; ix < 9; ix++ )
   {
      dest[ 0 ] = ix.ToString()[ 0 ];
      src->CopyTo( ix * 3, dest, 3, 3 );
      Console::Write( "    " );
      Console::WriteLine( dest );
   }
}

/*
This example produces the following results:

Piece) Data:
    0) abc
    1) def
    2) ghi
    3) jkl
    4) mno
    5) pqr
    6) stu
    7) vwx
    8) yz!
*/
// This example demonstrates the CopyTo(Int32, Char[], Int32, Int32) method.

// Typically the destination array is small, preallocated, and global while 
// the StringBuilder is large with programmatically defined data. 
// However, for this example both the array and StringBuilder are small 
// and the StringBuilder has predefined data.

using System;
using System.Text;

class Sample 
{
    protected static char[] dest = new char[6];
    public static void Main() 
    {
    StringBuilder src = new StringBuilder("abcdefghijklmnopqrstuvwxyz!");
    dest[1] = ')';
    dest[2] = ' ';

// Copy the source to the destination in 9 pieces, 3 characters per piece.

    Console.WriteLine("\nPiece) Data:");
    for(int ix = 0; ix < 9; ix++)
        {
        dest[0] = ix.ToString()[0];
        src.CopyTo(ix * 3, dest, 3, 3);
        Console.Write("    ");
        Console.WriteLine(dest);
        }
    }
}
/*
This example produces the following results:

Piece) Data:
    0) abc
    1) def
    2) ghi
    3) jkl
    4) mno
    5) pqr
    6) stu
    7) vwx
    8) yz!
*/
' Typically the destination array is small, preallocated, and global while 
' the StringBuilder is large with programmatically defined data. 
' However, for this example both the array and StringBuilder are small 
' and the StringBuilder has predefined data.

Imports System.Text

Class Sample
   Protected Shared dest(5) As Char
   
   Public Shared Sub Main()
      Dim src As New StringBuilder("abcdefghijklmnopqrstuvwxyz!")
      dest(1) = ")"c
      dest(2) = " "c
      
      ' Copy the source to the destination in 9 pieces, 3 characters per piece.
      Console.WriteLine(vbCrLf & "Piece) Data:")
      Dim ix As Integer
      For ix = 0 To 8
         dest(0) = ix.ToString()(0)
         src.CopyTo(ix * 3, dest, 3, 3)
         Console.Write("    ")
         Console.WriteLine(dest)
      Next ix
   End Sub
End Class
'
' This example produces the following results:
'
' Piece) Data:
'     0) abc
'     1) def
'     2) ghi
'     3) jkl
'     4) mno
'     5) pqr
'     6) stu
'     7) vwx
'     8) yz!

설명

CopyTo 메서드는 StringBuilder 개체의 연속 되는 섹션을 배열에 효율적으로 복사 해야 하는 드문 경우에 사용 하기 위한 것입니다.The CopyTo method is intended to be used in the rare situation when you need to efficiently copy successive sections of a StringBuilder object to an array. 배열에는 고정된 크기를 미리 할당 되 고 재사용 가능한 전역 액세스가 가능 해야 합니다.The array should be a fixed size, preallocated, reusable, and possibly globally accessible.

예를 들어, 애플리케이션을 채울 수도 있었습니다를 StringBuilder 많은 수의 문자를 사용 하 여 개체를 사용 하 여는 CopyTo 소규모의 연속 정보를 복사 하는 메서드는 StringBuilder 조각이 처리 되는 배열 개체입니다.For example, your application could populate a StringBuilder object with a large number of characters then use the CopyTo method to copy small, successive pieces of the StringBuilder object to an array where the pieces are processed. StringBuilder 개체의 모든 데이터가 처리 되 면 StringBuilder 개체의 크기가 0으로 설정 되 고 주기가 반복 됩니다.When all the data in the StringBuilder object is processed, the size of the StringBuilder object is set to zero and the cycle is repeated.

적용 대상