Sdílet prostřednictvím


StringBuilder.CopyTo Metoda

Definice

Přetížení

Name Description
CopyTo(Int32, Span<Char>, Int32)

Zkopíruje znaky ze zadaného segmentu této instance do cílového Char rozsahu.

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

Zkopíruje znaky ze zadaného segmentu této instance do zadaného segmentu cílového Char pole.

CopyTo(Int32, Span<Char>, Int32)

Zdroj:
StringBuilder.cs
Zdroj:
StringBuilder.cs
Zdroj:
StringBuilder.cs
Zdroj:
StringBuilder.cs

Zkopíruje znaky ze zadaného segmentu této instance do cílového Char rozsahu.

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)

Parametry

sourceIndex
Int32

Počáteční pozice v této instanci, ze které budou znaky zkopírovány. Index je založený na nule.

destination
Span<Char>

Zapisovatelné rozpětí, do kterého se zkopírují znaky.

count
Int32

Počet znaků, které se mají zkopírovat.

Poznámky

Metoda CopyTo je určena k použití ve výjimečných situacích, když potřebujete efektivně kopírovat po sobě jdoucí části objektu StringBuilder do rozsahu.

Váš kód může například naplnit StringBuilder objekt velkým počtem znaků a pak pomocí CopyTo metody zkopírovat malé po sobě jdoucí části objektu StringBuilder do rozsahu, ve kterém se části zpracovávají. Při zpracování všech dat v objektu StringBuilder je velikost StringBuilder objektu nastavena na nulu a cyklus se opakuje.

Platí pro

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

Zdroj:
StringBuilder.cs
Zdroj:
StringBuilder.cs
Zdroj:
StringBuilder.cs
Zdroj:
StringBuilder.cs

Zkopíruje znaky ze zadaného segmentu této instance do zadaného segmentu cílového Char pole.

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

Parametry

sourceIndex
Int32

Počáteční pozice v této instanci, ze které budou znaky zkopírovány. Index je založený na nule.

destination
Char[]

Pole, ve kterém budou znaky zkopírovány.

destinationIndex
Int32

Počáteční pozice, ve destination které budou znaky zkopírovány. Index je založený na nule.

count
Int32

Počet znaků, které se mají zkopírovat.

Atributy

Výjimky

destination je null.

sourceIndex, destinationIndexnebo count, je menší než nula.

-or-

sourceIndex je větší než délka této instance.

sourceIndex + count je větší než délka této instance.

-or-

destinationIndex + count je větší než délka destination.

Příklady

Následující příklad ukazuje metodu CopyTo .

// 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!
*/
// 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.

open System.Text

let dest = Array.zeroCreate 6

let src = StringBuilder "abcdefghijklmnopqrstuvwxyz!"
dest[1] <- ')'
dest[2] <- ' '

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

printfn "\Piece) Data:"
for i = 0 to 8 do
    dest[0] <- (string i)[0]
    src.CopyTo(i * 3, dest, 3, 3)
    printfn $"    {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!

Poznámky

Metoda CopyTo je určena k použití ve výjimečných situacích, když potřebujete efektivně kopírovat po sobě jdoucí části objektu StringBuilder do pole. Pole by mělo být pevná velikost, předem přidělená, opakovaně použitelná a možná globálně přístupná.

Váš kód může například naplnit StringBuilder objekt velkým počtem znaků a pak pomocí CopyTo metody zkopírovat malé po sobě jdoucí části objektu StringBuilder do pole, ve kterém se části zpracovávají. Při zpracování všech dat v objektu StringBuilder je velikost StringBuilder objektu nastavena na nulu a cyklus se opakuje.

Platí pro