における条件のためのループ変数宣言のために今すぐ.NETソースコード
for (int i = 0, n = nodes.Count; i < n; i++)
{
Expression node = Visit(nodes[i]);
if (newNodes != null)
{
newNodes[i] = node;
}
else if (!object.ReferenceEquals(node, nodes[i]))
{
newNodes = new Expression[n];
for (int j = 0; j < i; j++)
{
newNodes[j] = nodes[j];
}
newNodes[i] = node;
}
}
はつまり、なぜ、特定の理由があり、私は.NET
にExpressionVisitor
を掘りしてきたと私はこのfor
ループを見つけました:i = 0, n = nodes.Count; i < n
は?
i = 0; i < nodes.Count
にはないパフォーマンス向上はありますか?
このループではnも使用されており、ノードのカウントは最初の1回だけカウントされ、各繰り返しではカウントされません。これが良い方法だと思います。 –