В .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

[Редактировать]

Помимо аспекта читабельности, меня действительно интересуют факты и цифры. Есть приложения, в которых важна последняя миля оптимизации производительности.

Ответы на вопрос(30)

Ваш ответ на вопрос