StringBuilder.CopyTo Methode

Definitie

Overloads

Name Description
CopyTo(Int32, Span<Char>, Int32)

Kopieert de tekens uit een opgegeven segment van dit exemplaar naar een doelbereik Char .

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

Kopieert de tekens van een opgegeven segment van dit exemplaar naar een opgegeven segment van een doelmatrix Char .

CopyTo(Int32, Span<Char>, Int32)

Kopieert de tekens uit een opgegeven segment van dit exemplaar naar een doelbereik 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)

Parameters

sourceIndex
Int32

De beginpositie in dit exemplaar waaruit tekens worden gekopieerd. De index is gebaseerd op nul.

destination
Span<Char>

De schrijfbare periode waarin tekens worden gekopieerd.

count
Int32

Het aantal tekens dat moet worden gekopieerd.

Opmerkingen

De CopyTo methode is bedoeld om te worden gebruikt in de zeldzame situatie wanneer u opeenvolgende secties van een StringBuilder object efficiënt naar een span moet kopiëren.

Uw code kan bijvoorbeeld een StringBuilder object vullen met een groot aantal tekens en vervolgens de CopyTo methode gebruiken om kleine, opeenvolgende stukken van het StringBuilder object te kopiëren naar een periode waarin de stukken worden verwerkt. Wanneer alle gegevens in het StringBuilder object worden verwerkt, wordt de grootte van het StringBuilder object ingesteld op nul en wordt de cyclus herhaald.

Van toepassing op

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

Kopieert de tekens van een opgegeven segment van dit exemplaar naar een opgegeven segment van een doelmatrix 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)

Parameters

sourceIndex
Int32

De beginpositie in dit exemplaar waaruit tekens worden gekopieerd. De index is gebaseerd op nul.

destination
Char[]

De matrix waarin tekens worden gekopieerd.

destinationIndex
Int32

De beginpositie waarin destination tekens worden gekopieerd. De index is gebaseerd op nul.

count
Int32

Het aantal tekens dat moet worden gekopieerd.

Kenmerken

Uitzonderingen

destination is null.

sourceIndex, destinationIndexof count, is kleiner dan nul.

– of –

sourceIndex is groter dan de lengte van dit exemplaar.

sourceIndex + count is groter dan de lengte van dit exemplaar.

– of –

destinationIndex + count is groter dan de lengte van destination.

Voorbeelden

In het volgende voorbeeld ziet u de 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 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!

Opmerkingen

De CopyTo methode is bedoeld om te worden gebruikt in de zeldzame situatie wanneer u opeenvolgende secties van een StringBuilder object efficiënt naar een matrix moet kopiëren. De matrix moet een vaste grootte hebben, vooraf toegewezen, herbruikbaar en mogelijk wereldwijd toegankelijk zijn.

Uw code kan bijvoorbeeld een StringBuilder object vullen met een groot aantal tekens en vervolgens de CopyTo methode gebruiken om kleine, opeenvolgende stukken van het StringBuilder object te kopiëren naar een matrix waarin de stukken worden verwerkt. Wanneer alle gegevens in het StringBuilder object worden verwerkt, wordt de grootte van het StringBuilder object ingesteld op nul en wordt de cyclus herhaald.

Van toepassing op