StringBuilder.CopyTo Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
CopyTo(Int32, Char[], Int32, Int32) |
Kopiert die Zeichen aus einem angegebenen Segment dieser Instanz in ein angegebenes Segment eines Ziel-Char-Arrays. |
CopyTo(Int32, Span<Char>, Int32) |
Kopiert die Zeichen aus einem angegebenen Segment dieser Instanz in eine Ziel-Char-Spanne. |
CopyTo(Int32, Char[], Int32, Int32)
- Quelle:
- StringBuilder.cs
- Quelle:
- StringBuilder.cs
- Quelle:
- StringBuilder.cs
Kopiert die Zeichen aus einem angegebenen Segment dieser Instanz in ein angegebenes Segment eines Ziel-Char-Arrays.
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, ab der Zeichen kopiert werden. Der Index ist nullbasiert.
- destination
- Char[]
Das Array, in das Zeichen kopiert werden.
- destinationIndex
- Int32
Die Anfangsposition in destination
, an die Zeichen kopiert werden. Der Index ist nullbasiert.
- count
- Int32
Die Anzahl der zu kopierenden Zeichen.
- Attribute
Ausnahmen
destination
ist null
.
sourceIndex
, destinationIndex
oder count
ist kleiner als 0 (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
Das folgende Beispiel veranschaulicht die CopyTo Methode.
// 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!
*/
// 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 aufeinanderfolgende Abschnitte eines StringBuilder Objekts effizient in ein Array kopieren müssen. Das Array sollte eine feste Größe aufweisen, vorab zugeordnet, wiederverwendbar und möglicherweise global zugänglich sein.
Ihr Code könnte beispielsweise ein StringBuilder Objekt mit einer großen Anzahl von Zeichen auffüllen und dann die CopyTo -Methode verwenden, um kleine, aufeinanderfolgende 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 0 festgelegt, und der Zyklus wird wiederholt.
Gilt für:
CopyTo(Int32, Span<Char>, Int32)
- Quelle:
- StringBuilder.cs
- Quelle:
- StringBuilder.cs
- Quelle:
- StringBuilder.cs
Kopiert die Zeichen aus einem angegebenen Segment dieser Instanz in eine Ziel-Char-Spanne.
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, ab der Zeichen kopiert werden. Der Index ist nullbasiert.
- count
- Int32
Die Anzahl der zu kopierenden Zeichen.
Hinweise
Die CopyTo Methode ist für die Verwendung in der seltenen Situation vorgesehen, in der Sie aufeinanderfolgende Abschnitte eines StringBuilder Objekts effizient in eine Spanne kopieren müssen.
Ihr Code könnte beispielsweise ein StringBuilder Objekt mit einer großen Anzahl von Zeichen auffüllen und dann die CopyTo -Methode verwenden, um kleine, aufeinanderfolgende 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 0 festgelegt, und der Zyklus wird wiederholt.