Well, there's List<T>.ForEach, but nothing on IEnumerable<T>. It's the kind of thing that's in plenty of 3rd party "extra extension methods" toolkits though :)
I'd agree with the other answers that foreach is usually a better way to go - although it could occasionally make the difference between:
DoSomething(x => x.Where(...).Select(...).ForEach(...));
and
DoSomething(x => {
foreach (var y in x.Where(...).Select(...)) {
(...)
}
});
which is more significant than just a single line.
I think I'd usually only use such a method if I already had a delegate to hand, or potentially a method group. For example, it's quite nice to be able to have a one-liner to dump a filtered collection:
people.Where(p => p.Age >= 18).ForEach(Console.WriteLine);
It's possible that after more exposure to functional programming I'd use it more often though.