семантика все равно спорная) ну тут на вкус и цвет. предпочитаю все же оператор заюзать
Видимо, в методе ForEach дело не совсем в семантике. Класс List<T> был запилен под производительность, в отличие от всех Collection<T> унаследованных классов, которые запилены под расширяемость. Раз уж сказано на скрине выше, что метод этот намного быстрее обычного foreach)