StringBuilder.CopyTo Metode

Definisi

Overload

CopyTo(Int32, Span<Char>, Int32)

Menyalin karakter dari segmen tertentu dari instans ini ke rentang tujuan Char .

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

Menyalin karakter dari segmen tertentu dari instans ini ke segmen tertentu dari array tujuan Char .

CopyTo(Int32, Span<Char>, Int32)

Sumber:
StringBuilder.cs
Sumber:
StringBuilder.cs
Sumber:
StringBuilder.cs

Menyalin karakter dari segmen tertentu dari instans ini ke rentang tujuan 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

Posisi awal dalam instans ini tempat karakter akan disalin. Indeks berbasis nol.

destination
Span<Char>

Rentang bisa-tulis di mana karakter akan disalin.

count
Int32

Jumlah karakter yang akan disalin.

Keterangan

Metode CopyTo ini dimaksudkan untuk digunakan dalam situasi langka ketika Anda perlu menyalin bagian objek yang StringBuilder berturut-turut secara efisien ke rentang.

Misalnya, kode Anda dapat mengisi StringBuilder objek dengan sejumlah besar karakter lalu menggunakan CopyTo metode untuk menyalin potongan objek yang kecil dan berturut-turut StringBuilder ke rentang tempat potongan-potongan diproses. Ketika semua data dalam objek diproses StringBuilder , ukuran StringBuilder objek diatur ke nol dan siklus diulang.

Berlaku untuk

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

Sumber:
StringBuilder.cs
Sumber:
StringBuilder.cs
Sumber:
StringBuilder.cs

Menyalin karakter dari segmen tertentu dari instans ini ke segmen tertentu dari array tujuan 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

Posisi awal dalam instans ini tempat karakter akan disalin. Indeks berbasis nol.

destination
Char[]

Array tempat karakter akan disalin.

destinationIndex
Int32

Posisi awal di destination mana karakter akan disalin. Indeks berbasis nol.

count
Int32

Jumlah karakter yang akan disalin.

Atribut

Pengecualian

destinationadalah null.

sourceIndex, , destinationIndexatau count, kurang dari nol.

-atau-

sourceIndex lebih besar dari panjang instans ini.

sourceIndex + count lebih besar dari panjang instans ini.

-atau-

destinationIndex + count lebih besar dari panjang destination.

Contoh

Contoh berikut menunjukkan CopyTo metode .

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

Keterangan

Metode CopyTo ini dimaksudkan untuk digunakan dalam situasi langka ketika Anda perlu menyalin bagian objek berturut-turut StringBuilder secara efisien ke array. Array harus berukuran tetap, dialokasikan sebelumnya, dapat digunakan kembali, dan mungkin dapat diakses secara global.

Misalnya, kode Anda dapat mengisi StringBuilder objek dengan sejumlah besar karakter lalu menggunakan CopyTo metode untuk menyalin potongan objek yang kecil dan berturut-turut StringBuilder ke array tempat potongan-potongan diproses. Ketika semua data dalam objek diproses StringBuilder , ukuran StringBuilder objek diatur ke nol dan siklus diulang.

Berlaku untuk