Does anyone know if there is a counterpart to the foreach statement?

For example:
foreach(BasePage page in middlePages) allows one to move sequentially forward through all pages in middlePages from the first page to the last.

However, I'd like also to be able to move backward through all the pages in middlePages, but from the last to the first page.

Is there a statement in C# that allows this or is there some way to fenagle foreach to do this for me?

Thanks

-Mike