Aracılığıyla paylaş


StringBuilder.CopyTo Yöntem

Tanım

Aşırı Yüklemeler

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

Bu örneğin belirtilen bir kesimindeki karakterleri hedef Char dizinin belirtilen kesimine kopyalar.

CopyTo(Int32, Span<Char>, Int32)

Karakterleri bu örneğin belirtilen bir kesiminden hedef Char yayılmaya kopyalar.

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

Kaynak:
StringBuilder.cs
Kaynak:
StringBuilder.cs
Kaynak:
StringBuilder.cs

Bu örneğin belirtilen bir kesimindeki karakterleri hedef Char dizinin belirtilen kesimine kopyalar.

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)

Parametreler

sourceIndex
Int32

Bu örnekte karakterlerin kopyalandığı başlangıç konumu. Dizin sıfır tabanlıdır.

destination
Char[]

Karakterlerin kopyalandığı dizi.

destinationIndex
Int32

Karakterlerin kopyalandığı başlangıç konumu destination . Dizin sıfır tabanlıdır.

count
Int32

Kopyalanacak karakter sayısı.

Öznitelikler

Özel durumlar

destination, null değeridir.

sourceIndex, destinationIndexveya count, sıfırdan küçüktür.

-veya-

sourceIndex bu örneğin uzunluğundan daha büyük.

sourceIndex + count bu örneğin uzunluğundan daha büyük.

-veya-

destinationIndex + count , uzunluğundan destinationbüyüktür.

Örnekler

Aşağıdaki örnekte yöntemi gösterilmektedir 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!

Açıklamalar

CopyTo yöntemi, bir nesnenin ardışık bölümlerini bir diziye verimli bir StringBuilder şekilde kopyalamanız gerektiğinde nadir durumlarda kullanılmak üzere tasarlanmıştır. Dizi sabit boyutlu, önceden ayrılmış, yeniden kullanılabilir ve büyük olasılıkla genel olarak erişilebilir olmalıdır.

Örneğin, kodunuz bir StringBuilder nesneyi çok sayıda karakterle doldurabilir ve ardından nesnesinin CopyTo küçük, ardışık parçalarını parçaların StringBuilder işlendiği bir diziye kopyalamak için yöntemini kullanabilir. Nesnedeki StringBuilder tüm veriler işlendiğinde, nesnenin StringBuilder boyutu sıfır olarak ayarlanır ve döngü yinelenir.

Şunlara uygulanır

CopyTo(Int32, Span<Char>, Int32)

Kaynak:
StringBuilder.cs
Kaynak:
StringBuilder.cs
Kaynak:
StringBuilder.cs

Karakterleri bu örneğin belirtilen bir kesiminden hedef Char yayılmaya kopyalar.

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)

Parametreler

sourceIndex
Int32

Bu örnekte karakterlerin kopyalandığı başlangıç konumu. Dizin sıfır tabanlıdır.

destination
Span<Char>

Karakterlerin kopyalandığı yazılabilir yayılma alanı.

count
Int32

Kopyalanacak karakter sayısı.

Açıklamalar

yöntemi CopyTo , bir nesnenin ardışık bölümlerini bir span'a verimli bir StringBuilder şekilde kopyalamanız gerektiğinde nadir durumlarda kullanılmak üzere tasarlanmıştır.

Örneğin, kodunuz bir StringBuilder nesneyi çok sayıda karakterle doldurabilir ve ardından nesnesinin CopyTo küçük, ardışık parçalarını parçaların StringBuilder işlendiği bir yayılmaya kopyalamak için yöntemini kullanabilir. Nesnedeki StringBuilder tüm veriler işlendiğinde, nesnenin StringBuilder boyutu sıfır olarak ayarlanır ve döngü yinelenir.

Şunlara uygulanır