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