StringBuilder.CopyTo Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
CopyTo(Int32, Char[], Int32, Int32) |
Copia os caracteres de um segmento especificado desta instância para um segmento especificado de uma matriz Char de destino. |
CopyTo(Int32, Span<Char>, Int32) |
Copia os caracteres de um segmento especificado desta instância para um intervalo Char de destino. |
CopyTo(Int32, Char[], Int32, Int32)
- Origem:
- StringBuilder.cs
- Origem:
- StringBuilder.cs
- Origem:
- StringBuilder.cs
Copia os caracteres de um segmento especificado desta instância para um segmento especificado de uma matriz Char de destino.
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)
Parâmetros
- sourceIndex
- Int32
A posição inicial nessa instância de onde os caracteres serão copiados. O índice é baseado em zero.
- destination
- Char[]
A matriz na qual os caracteres serão copiados.
- destinationIndex
- Int32
A posição inicial no destination
na qual os caracteres serão copiados. O índice é baseado em zero.
- count
- Int32
O número de caracteres a serem copiados.
- Atributos
Exceções
destination
é null
.
sourceIndex
, destinationIndex
ou count
é menor que zero.
- ou -
sourceIndex
é maior que o tamanho desta instância.
sourceIndex
+
count
é maior que o tamanho desta instância.
- ou -
destinationIndex
+
count
é maior que o comprimento do destination
.
Exemplos
O exemplo a seguir demonstra o CopyTo método.
// 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!
Comentários
O CopyTo método destina-se a ser usado na situação rara quando você precisa copiar com eficiência seções sucessivas de um StringBuilder objeto para uma matriz. A matriz deve ser um tamanho fixo, pré-alocado, reutilizável e possivelmente acessível globalmente.
Por exemplo, seu código pode preencher um StringBuilder objeto com um grande número de caracteres e, em seguida, usar o CopyTo método para copiar partes pequenas e sucessivas do StringBuilder objeto para uma matriz em que as partes são processadas. Quando todos os dados no StringBuilder objeto são processados, o tamanho do StringBuilder objeto é definido como zero e o ciclo é repetido.
Aplica-se a
CopyTo(Int32, Span<Char>, Int32)
- Origem:
- StringBuilder.cs
- Origem:
- StringBuilder.cs
- Origem:
- StringBuilder.cs
Copia os caracteres de um segmento especificado desta instância para um intervalo Char de destino.
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)
Parâmetros
- sourceIndex
- Int32
A posição inicial nessa instância de onde os caracteres serão copiados. O índice é baseado em zero.
- count
- Int32
O número de caracteres a serem copiados.
Comentários
O CopyTo método destina-se a ser usado na situação rara quando você precisa copiar com eficiência seções sucessivas de um StringBuilder objeto para um intervalo.
Por exemplo, seu código pode preencher um StringBuilder objeto com um grande número de caracteres e, em seguida, usar o CopyTo método para copiar partes pequenas e sucessivas do StringBuilder objeto para um intervalo em que as partes são processadas. Quando todos os dados no StringBuilder objeto são processados, o tamanho do StringBuilder objeto é definido como zero e o ciclo é repetido.