В 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
[Редактировать]
Помимо аспекта читабельности, меня действительно интересуют факты и цифры. Существуют приложения, в которых важна последняя миля оптимизации производительности.
foreach
вместо for
C #. Если вы видите здесь ответы, которые вообще не имеют смысла, вот почему. Виноват модератор, а не несчастные ответы.