Почему в IEnumerable отсутствует метод расширения ForEach? - PullRequest
341 голосов
/ 19 сентября 2008

Вдохновлен другим вопросом о недостающей функции Zip:

Почему в классе Enumerable нет метода расширения ForEach? Или где угодно? Единственный класс, который получает метод ForEach - это List<>. Есть ли причина, по которой он отсутствует (производительность)?

Ответы [ 21 ]

0 голосов
/ 11 ноября 2008

Никто еще не указал, что ForEach приводит к проверке типа времени компиляции, когда ключевое слово foreach проверяется во время выполнения.

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

...