String.CopyTo(Int32, Char[], Int32, Int32) メソッド

定義

このインスタンスの指定位置から指定した数の文字を、Unicode 文字の配列内の指定位置へコピーします。Copies a specified number of characters from a specified position in this instance to a specified position in an array of Unicode characters.

public:
 void CopyTo(int sourceIndex, cli::array <char> ^ destination, int destinationIndex, int count);
public void CopyTo (int sourceIndex, char[] destination, int destinationIndex, int count);
member this.CopyTo : int * char[] * int * int -> unit
Public Sub CopyTo (sourceIndex As Integer, destination As Char(), destinationIndex As Integer, count As Integer)

パラメーター

sourceIndex
Int32

コピーする、このインスタンス内の最初の文字のインデックス。The index of the first character in this instance to copy.

destination
Char[]

このインスタンスの文字のコピー先となる Unicode 文字の配列。An array of Unicode characters to which characters in this instance are copied.

destinationIndex
Int32

コピー操作を開始する destination のインデックス。The index in destination at which the copy operation begins.

count
Int32

destination へコピーされるこのインスタンスの文字の数。The number of characters in this instance to copy to destination.

例外

destinationnullです。destination is null.

sourceIndexdestinationIndex、または count が負の値です。sourceIndex, destinationIndex, or count is negative

または-or-

sourceIndex が現在のインスタンス内の位置を識別していません。sourceIndex does not identify a position in the current instance.

または-or-

destinationIndex が、 destination 配列内の有効なインデックスを識別していません。destinationIndex does not identify a valid index in the destination array.

または-or-

count は、このインスタンスの sourceIndex から末尾までの部分文字列の長さを超えています。count is greater than the length of the substring from sourceIndex to the end of this instance

または-or-

count は、destination 配列の destinationIndex から末尾までの部分配列の長さを超えています。count is greater than the length of the subarray from destinationIndex to the end of the destination array.

CopyToメソッドの例を次に示します。The following example demonstrates the CopyTo method.

using namespace System;
int main()
{
   
   // Embed an array of characters in a string
   String^ strSource = "changed";
   array<Char>^destination = {'T','h','e',' ','i','n','i','t','i','a','l',' ','a','r','r','a','y'};
   
   // Print the char array
   Console::WriteLine( destination );
   
   // Embed the source string in the destination string
   strSource->CopyTo( 0, destination, 4, strSource->Length );
   
   // Print the resulting array
   Console::WriteLine( destination );
   strSource = "A different string";
   
   // Embed only a section of the source string in the destination
   strSource->CopyTo( 2, destination, 3, 9 );
   
   // Print the resulting array
   Console::WriteLine( destination );
}
// The example displays the following output:
//       The initial array
//       The changed array
//       Thedifferentarray
using System;

public class CopyToTest {
    public static void Main() {

        // Embed an array of characters in a string
        string strSource = "changed";
    char [] destination = { 'T', 'h', 'e', ' ', 'i', 'n', 'i', 't', 'i', 'a', 'l', ' ',
                'a', 'r', 'r', 'a', 'y' };

        // Print the char array
        Console.WriteLine( destination );

        // Embed the source string in the destination string
        strSource.CopyTo ( 0, destination, 4, strSource.Length );

        // Print the resulting array
        Console.WriteLine( destination );

        strSource = "A different string";

        // Embed only a section of the source string in the destination
        strSource.CopyTo ( 2, destination, 3, 9 );

        // Print the resulting array
        Console.WriteLine( destination );
    }
}
// The example displays the following output:
//       The initial array
//       The changed array
//       Thedifferentarray
Public Class CopyToTest
    Public Shared Sub Main()
        ' Embed an array of characters in a string
        Dim strSource As String = "changed"
        Dim destination As Char() = {"T"c, "h"c, "e"c, " "c, "i"c, "n"c, "i"c, _
                    "t"c, "i"c, "a"c, "l"c, " "c, "a"c, "r"c, "r"c, "a"c, "y"c}

        ' Print the char array
        Console.WriteLine(destination)

        ' Embed the source string in the destination string
        strSource.CopyTo(0, destination, 4, strSource.Length)

        ' Print the resulting array
        Console.WriteLine(destination)

        strSource = "A different string"

        ' Embed only a section of the source string in the destination
        strSource.CopyTo(2, destination, 3, 9)

        ' Print the resulting array
        Console.WriteLine(destination)
    End Sub 
End Class 
' The example displays the following output:
'       The initial array
'       The changed array
'       Thedifferentarray

注釈

このメソッドは、 count sourceIndex このインスタンスの位置から文字配列の位置に文字をコピー destinationIndex destination します。This method copies count characters from the sourceIndex position of this instance to the destinationIndex position of destination character array. このメソッドは、文字配列のサイズを変更しません destination 。コピーされた文字を格納するのに十分な数の要素が必要です。または、メソッドがをスロー ArgumentOutOfRangeException します。This method does not resize the destination character array; it must have a sufficient number of elements to accommodate the copied characters or the method throws an ArgumentOutOfRangeException.

sourceIndexdestinationIndex は、0から始まります。sourceIndex and destinationIndex are zero-based.

適用対象

こちらもご覧ください