コードベースの履歴を見て、これから変更されたチェックインを見つけました。
public virtual T[] ToArray()
{
List<T> list = new List<T>();
foreach (object item in List)
{
list.Add((T)item);
}
return list.ToArray();
}
これに:
public virtual T[] ToArray()
{
T[] result = new T[List.Count];
for (int i = 0; i < List.Count; ++i)
{
result[i] = (T)List[i];
}
return result;
}
コメント付き:プロセスで複数のデータ構造を作成しないように最適化されたToArray実装。
なぜここに最適化があるのだろうか。for()
よりも速いかもしれませんがforeach()
、「複数のデータ構造の作成」はどこにありますか?
P / S:これを書いた人は今休暇中です