我在调查String.Concat :(反射器)

很奇怪 :
有值数组,
他们创造了一个新的阵列,以后他们会把他送到ConcatArray.
题 :
为什么他们创建了一个新阵列?他们values从一开始......
代码:
public static string Concat(params string[] values)
{
if (values == null)
{
throw new ArgumentNullException("values");
}
int totalLength = 0;
string[] strArray = new string[values.Length];
for (int i = 0; i < values.Length; i++)
{
string str = values[i];
strArray[i] = (str == null) ? Empty : str;
totalLength += strArray[i].Length;
if (totalLength < 0)
{
throw new OutOfMemoryException();
}
}
return ConcatArray(strArray, …Run Code Online (Sandbox Code Playgroud)