Я изучал String.Concat: (Reflector)
очень странно:
имеют массив значений,
они создают NEW ARRAY, для которого позже они отправляют его на ConcatArray
.
Вопрос:
Почему они создали массив new? они имели 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, totalLength);
}