StringBuilder.CopyTo Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
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) |
Zkopíruje znaky ze zadaného segmentu této instance do cílového Char rozsahu. |
CopyTo(Int32, Char[], Int32, Int32)
- 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 tomto případě, ze které budou zkopírovány znaky. Index je založený na nule.
- destination
- Char[]
Pole, do kterého se budou kopírovat znaky.
- destinationIndex
- Int32
Počáteční pozice, do destination
které se budou kopírovat znaky. Index je založený na nule.
- count
- Int32
Počet znaků, které se mají zkopírovat.
- Atributy
Výjimky
destination
je null
.
sourceIndex
, destinationIndex
nebo count
je menší než nula.
-nebo-
sourceIndex
je větší než délka této instance.
sourceIndex
+
count
je větší než délka této instance.
-nebo-
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 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!
Poznámky
Metoda CopyTo je určena k použití ve výjimečné situaci, kdy potřebujete efektivně kopírovat po sobě jdoucí části objektu StringBuilder do pole. Pole by mělo mít pevnou velikost, předem přidělenou, opakovaně použitelnou a potenciálně globálně dostupnou.
Váš kód by například mohl naplnit StringBuilder objekt velkým počtem znaků a pak pomocí CopyTo metody zkopírovat malé po sobě jdoucí části objektu StringBuilder do pole, kde jsou části zpracovány. Při zpracování všech dat v objektu StringBuilder se velikost objektu StringBuilder nastaví na nulu a cyklus se opakuje.
Platí pro
CopyTo(Int32, Span<Char>, Int32)
- 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 tomto případě, ze které budou zkopírovány znaky. Index je založený na nule.
- 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 by například mohl naplnit StringBuilder objekt velkým počtem znaků a pak pomocí CopyTo metody zkopírovat malé po sobě jdoucí části objektu StringBuilder do rozsahu, kde jsou části zpracovány. Při zpracování všech dat v objektu StringBuilder se velikost objektu StringBuilder nastaví na nulu a cyklus se opakuje.