任何人都可以解释为什么这段代码的输出只是'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 ] );
答案 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代替