You could also consider going parallel, especially if you don't care about the sequence and more about getting something done for each item:
SomeIEnumerable.AsParallel().ForAll( Action / Delegate / Lambda )
For example:
var numbers = new[] { 1, 2, 3, 4, 5 };
numbers.AsParallel().ForAll( Console.WriteLine );
HTH.