StringBuilder.CopyTo Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
, destinationIndex
veya 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 destination
bü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.
- 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.