В С#/VB.NET/.NET этот цикл работает быстрее, for
или foreach
?
С тех пор, как я прочитал, что цикл for
работает быстрее, чем цикл foreach
a давным-давно, я предположил, что это верно для все коллекции, общие коллекции, все массивы и т.д.
Я просмотрел Google и нашел несколько статей, но большинство из них неубедительны (читайте комментарии к статьям) и открытые.
Было бы идеально, чтобы каждый сценарий был указан и наилучшим решением для него.
Например (просто пример того, как это должно быть):
- для итерации массива 1000+
строки -
for
лучше, чемforeach
- для итерации более
IList
(не общих) строк -foreach
лучше чемfor
Несколько ссылок, найденных в Интернете, для них:
- Оригинальная великая старая статья Эммануэля Санчера
- CodeProject FOREACH Vs. ДЛЯ
- Блог - Кому
foreach
или не соответствуетforeach
, вот вопрос - Форум ASP.NET - NET 1.1 С#
for
vsforeach
[изменить]
Помимо аспекта читабельности, я действительно интересуюсь фактами и цифрами. Есть приложения, где последняя миля оптимизации производительности сжимается.