Sometime back, I needed to reverse iterate over a collection and realised that .NET framework didn't provide any 'Reverse' IEnumerable for collections, I remember Standard C++ Library having reverse iterators for the containers. I finally managed to sit