En C # / VB.NET / .NET, quelle boucle s'exécute plus rapidement, forou foreach?
Depuis que j'ai lu qu'une forboucle fonctionne plus rapidement qu'une foreachboucle il y a longtemps, j'ai supposé qu'elle était vraie pour toutes les collections, les collections génériques, tous les tableaux, etc.
J'ai parcouru Google et trouvé quelques articles, mais la plupart d'entre eux ne sont pas concluants (lire les commentaires sur les articles) et ouverts.
L'idéal serait de répertorier chaque scénario et la meilleure solution pour le même.
Par exemple (juste un exemple de comment cela devrait être):
- pour itérer un tableau de plus de 1000 chaînes -
forest mieux queforeach - pour itérer sur
IListdes chaînes (non génériques) -foreachest mieux quefor
Quelques références trouvées sur le web pour les mêmes:
- Grand ancien article original d'Emmanuel Schanzer
- CodeProject FOREACH Vs. POUR
- Blog - To
foreachto not toforeach, telle est la question - Forum ASP.NET - NET 1.1 C #
forvsforeach
[Éditer]
Hormis l'aspect lisibilité de celui-ci, je suis vraiment intéressé par les faits et les chiffres. Il existe des applications où le dernier kilomètre d'optimisation des performances est important.
foreachau lieu de forC #. Si vous voyez ici des réponses qui n'ont aucun sens, c'est pourquoi. Blâmez le modérateur, pas les réponses malheureuses.





