Teilen über


StringBuilder.CopyTo Methode

Definition

Überlädt

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

Kopiert die Zeichen aus einem angegebenen Segment dieser Instanz in eine Zielspanne Char .

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

Kopiert die Zeichen aus einem angegebenen Segment dieser Instanz in ein angegebenes Segment eines Zielarrays Char .

CopyTo(Int32, Span<Char>, Int32)

Quelle:
StringBuilder.cs
Quelle:
StringBuilder.cs
Quelle:
StringBuilder.cs
Quelle:
StringBuilder.cs

Kopiert die Zeichen aus einem angegebenen Segment dieser Instanz in eine Zielspanne Char .

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)

Parameter

sourceIndex
Int32

Die Anfangsposition in dieser Instanz, aus der Zeichen kopiert werden. Der Index ist nullbasiert.

destination
Span<Char>

Die schreibbare Spanne, in die Zeichen kopiert werden.

count
Int32

Die Anzahl der zu kopierenden Zeichen.

Hinweise

Die CopyTo Methode soll in der seltenen Situation verwendet werden, wenn Sie aufeinander folgende Abschnitte eines StringBuilder Objekts effizient in eine Spanne kopieren müssen.

Beispielsweise könnte Ihr Code ein StringBuilder Objekt mit einer großen Anzahl von Zeichen auffüllen und dann die CopyTo Methode verwenden, um kleine, aufeinander folgende Teile des StringBuilder Objekts in eine Spanne zu kopieren, in der die Teile verarbeitet werden. Wenn alle Daten im StringBuilder Objekt verarbeitet werden, wird die Größe des StringBuilder Objekts auf Null festgelegt, und der Zyklus wird wiederholt.

Gilt für:

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

Quelle:
StringBuilder.cs
Quelle:
StringBuilder.cs
Quelle:
StringBuilder.cs
Quelle:
StringBuilder.cs

Kopiert die Zeichen aus einem angegebenen Segment dieser Instanz in ein angegebenes Segment eines Zielarrays Char .

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)

Parameter

sourceIndex
Int32

Die Anfangsposition in dieser Instanz, aus der Zeichen kopiert werden. Der Index ist nullbasiert.

destination
Char[]

Das Array, in das Zeichen kopiert werden.

destinationIndex
Int32

Die Anfangsposition, an der destination Zeichen kopiert werden. Der Index ist nullbasiert.

count
Int32

Die Anzahl der zu kopierenden Zeichen.

Attribute

Ausnahmen

destination ist null.

sourceIndex, oder destinationIndexcount, ist kleiner als Null.

-oder-

sourceIndex ist größer als die Länge dieser Instanz.

sourceIndex + count ist größer als die Länge dieser Instanz.

-oder-

destinationIndex + count ist größer als die Länge von destination.

Beispiele

Im folgenden Beispiel wird die CopyTo Methode veranschaulicht.

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

Hinweise

Die CopyTo Methode soll in der seltenen Situation verwendet werden, wenn Sie aufeinander folgende Abschnitte eines StringBuilder Objekts effizient in ein Array kopieren müssen. Das Array sollte eine feste Größe, vorallocated, wiederverwendbar und möglicherweise global zugänglich sein.

Beispielsweise könnte Ihr Code ein StringBuilder Objekt mit einer großen Anzahl von Zeichen auffüllen und dann die CopyTo Methode verwenden, um kleine, aufeinander folgende Teile des StringBuilder Objekts in ein Array zu kopieren, in dem die Teile verarbeitet werden. Wenn alle Daten im StringBuilder Objekt verarbeitet werden, wird die Größe des StringBuilder Objekts auf Null festgelegt, und der Zyklus wird wiederholt.

Gilt für: