Я недавно изменил
this.FieldValues = new object[2, fieldValues.GetUpperBound(1) + 1];
for (int i = 0; i < FieldCount; i++)
{
this.FieldValues[Current, i] = fieldValues[Current, i];
this.FieldValues[Original, i] = fieldValues[Original, i];
}
на
FieldValues = new object[2, fieldValues.GetLength(1)];
Array.Copy(fieldValues, FieldValues, FieldValues.Length);
Где значения Current и Original являются константами 0 и 1 соответственно. FieldValues является полем, а FieldValues - параметром.
Там, где я его использовал, я нашел версию Array.Copy() более быстрой. Но другой разработчик говорит, что он тайминговал for-loop против Array.Copy() в автономной программе и нашел for-loop быстрее.
Возможно ли, что Array.Copy() на самом деле не быстрее? Я думал, что это должно быть супер-оптимизировано!