Почему List.ForEach ()реализует цикл for?

Я не понимаю, почему метод расширения List<T>.ForEach()реализует цикл forпод капотом. Это открывает возможность модификации коллекции. Обычный foreachв этом случае выдаст исключение, поэтому наверняка ForEach()должен реагировать так же?

Если вы ДОЛЖНЫ изменить коллекцию по какой-либо причине, то, конечно, вы должны вручную перебирать коллекцию в цикле for?

Кажется, здесь есть некоторое семантическое противоречие между foreachи List<T>.ForEach().

Я что-то упускаю?

12
задан Dave New 3 May 2013 в 19:51
поделиться