Ich frage mich, ob dies einen Unterschied macht:Performance: List.Count vs eine gespeicherte Variable Überprüfung
for (int i = 0; i < values.Count; i++)
{
//
}
vs
int num = values.Count;
for(int=0; i<num; i++)
{
}
Ich denke, der zweite Ansatz besser ist, weil Sie nicht brauchen Zählen Sie alle Elemente in jeder Iteration. Aber ich kann mich irren. Konnte mich jemand erleuchten?
Wenn Sie sich über die Leistung Gedanken machen, sollten Sie in der Regel Ihre App so profilieren, dass die Engpässe ermittelt werden. Moderne Compiler machen eine sehr gute Arbeit bei der Optimierung und die Engpässe sind normalerweise nicht dort, wo man denkt, dass sie es sind. Brian Kernighan beschreibt in "The Practice of Programming", wie selbst die sehr schlauen Leute bei Bell Labs das falsche Ding optimiert haben. – David
Sie haben den Code in beide Richtungen geschrieben. ** Führen Sie es in beiden Richtungen und dann wissen Sie, welche schneller ist **. Nutze * science * um dieses Problem zu lösen, nicht * Divination *. –