最近我进行了更改
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];
}
to
FieldValues = new object[2, fieldValues.GetLength(1)];
Array.Copy(fieldValues, FieldValues, FieldValues.Length);
其中Current和Original的值分别为常量0和1。FieldValues是一个字段,fieldValues是一个参数。
在我使用它的地方,我发现Array.Copy()版本更快。但另一位开发人员说他在一个独立的程序中计时了for循环和Array.Copy(),发现for循环更快。
Array.Copy()可能并不比for循环更快吗?我认为它应该被超级优化了!