У 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
vsforeach
[Редагувати]
Крім аспекту читабельності, мене дуже цікавлять факти та цифри. Є програми, де остання миля оптимізації продуктивності стиснута має значення.
foreach
замість for
C #. Якщо ви бачите тут відповіді, які взагалі не мають сенсу, саме тому. Звинувачуйте модератора, а не безрезультатних відповідей.