In C#/VB.NET/.NET, welche Schleife läuft schneller, for
o foreach
?
Seitdem ich gelesen habe, dass ein for
Schleife arbeitet schneller als eine foreach
Schleife a vor langer Zeit Ich nahm an, dass dies für alle Sammlungen, generischen Sammlungen, alle Arrays usw. gilt.
Ich habe Google durchforstet und einige Artikel gefunden, aber die meisten davon sind nicht schlüssig (lesen Sie die Kommentare zu den Artikeln) und haben ein offenes Ende.
Ideal wäre es, jedes Szenario aufzulisten und die beste Lösung dafür zu nennen.
Ein Beispiel (nur ein Beispiel dafür, wie es sein sollte):
- für die Iteration eines Arrays von 1000+ Zeichenketten -
for
ist besser alsforeach
- zur Iteration über
IList
(nicht generische) Zeichenketten -foreach
ist besser alsfor
Ein paar Referenzen im Internet für das gleiche gefunden:
- Ursprünglicher großer alter Artikel von Emmanuel Schanzer
- CodeProject FOREACH Vs. FOR
- Blog - Zum
foreach
oder nichtforeach
das ist die Frage - ASP.NET Forum - NET 1.1 C#
for
vsforeach
[Bearbeiten]
Abgesehen vom Aspekt der Lesbarkeit bin ich wirklich an Fakten und Zahlen interessiert. Es gibt Anwendungen, bei denen es auf die letzte Meile der Leistungsoptimierung ankommt.