什么是String.CopyTo?

时间:2008-12-09 17:25:03

标签: c#

任何人都可以解释为什么这段代码的输出只是'hello'以及这段代码的含义是什么?

( 0, characterArray, 0, characterArray.Length );

输出显示:

The character array is: hello

代码如下:

string string1 = "hello there";
char[] characterArray = new char[ 5 ];

string1.CopyTo( 0, characterArray, 0, characterArray.Length );
Console.Write( "\nThe character array is: " );

for ( int i = 0; i < characterArray.Length; i++ )
    Console.Write( characterArray[ i ] );

3 个答案:

答案 0 :(得分:5)

这是因为您的数组仅设置为5个字符。将它扩展为11,它将起作用。

以下是Copyto的内容:

public void CopyTo(
    int sourceIndex,
    char[] destination,
    int destinationIndex,
    int count
)
Parameters
sourceIndex
Type: System..::.Int32
A character position in this instance. 

destination
Type: array[]()[]
An array of Unicode characters. 

destinationIndex
Type: System..::.Int32
An array element in destination. 

count
Type: System..::.Int32
The number of characters in this instance to copy to destination. 

取自:http://msdn.microsoft.com/en-us/library/system.string.copyto.aspx

答案 1 :(得分:2)

它只显示'hello',因为你的角色阵列只有5个字符长。至于CopyTo的参数,请阅读http://msdn.microsoft.com/en-us/library/system.string.copyto.aspx

答案 2 :(得分:0)

那是因为你的字符数组大小只有5.如果你想把整个字符串作为一个数组,你可以用string.ToCharArray代替