StringBuilder.CopyTo Metod

Definition

Överlagringar

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

Kopierar tecknen från ett angivet segment av den här instansen till ett målintervall Char .

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

Kopierar tecknen från ett angivet segment av den här instansen till ett angivet segment i en målmatris Char .

CopyTo(Int32, Span<Char>, Int32)

Källa:
StringBuilder.cs
Källa:
StringBuilder.cs
Källa:
StringBuilder.cs
Källa:
StringBuilder.cs
Källa:
StringBuilder.cs

Kopierar tecknen från ett angivet segment av den här instansen till ett målintervall 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)

Parametrar

sourceIndex
Int32

Startpositionen i den här instansen där tecken kopieras från. Indexet är nollbaserat.

destination
Span<Char>

Det skrivbara intervallet där tecken kopieras.

count
Int32

Antalet tecken som ska kopieras.

Kommentarer

Metoden CopyTo är avsedd att användas i sällsynta situationer när du effektivt behöver kopiera efterföljande delar av ett StringBuilder objekt till ett intervall.

Din kod kan till exempel fylla i ett StringBuilder objekt med ett stort antal tecken och sedan använda CopyTo metoden för att kopiera små, efterföljande delar av StringBuilder objektet till ett intervall där delarna bearbetas. När alla data i StringBuilder objektet bearbetas anges objektets StringBuilder storlek till noll och cykeln upprepas.

Gäller för

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

Källa:
StringBuilder.cs
Källa:
StringBuilder.cs
Källa:
StringBuilder.cs
Källa:
StringBuilder.cs
Källa:
StringBuilder.cs

Kopierar tecknen från ett angivet segment av den här instansen till ett angivet segment i en målmatris 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)

Parametrar

sourceIndex
Int32

Startpositionen i den här instansen där tecken kopieras från. Indexet är nollbaserat.

destination
Char[]

Matrisen där tecken ska kopieras.

destinationIndex
Int32

Startpositionen där destination tecken kopieras. Indexet är nollbaserat.

count
Int32

Antalet tecken som ska kopieras.

Attribut

Undantag

destination är null.

sourceIndex, destinationIndex, eller count, är mindre än noll.

-eller-

sourceIndex är större än längden på den här instansen.

sourceIndex + count är större än längden på den här instansen.

-eller-

destinationIndex + count är större än längden på destination.

Exempel

I följande exempel visas CopyTo metoden.

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

Kommentarer

Metoden CopyTo är avsedd att användas i sällsynta situationer när du effektivt behöver kopiera efterföljande delar av ett StringBuilder objekt till en matris. Matrisen ska vara en fast storlek, förallokerad, återanvändbar och möjligen globalt tillgänglig.

Koden kan till exempel fylla i ett StringBuilder objekt med ett stort antal tecken och sedan använda CopyTo metoden för att kopiera små, efterföljande delar av StringBuilder objektet till en matris där delarna bearbetas. När alla data i StringBuilder objektet bearbetas anges objektets StringBuilder storlek till noll och cykeln upprepas.

Gäller för