Делал не так давно задание по стеку на массиве, получилось более менее прилично вроде (можно без особых проблем реализацию IEnumerable прикрутить). Код. По заданию требовалось сделать это дело на VB.Net, хоть и писал на С#, исходников не сохранилось, но особой разницы и нет.
Еще рекомендую заглянуть на MS/Mono реализацию стека, там по сути тоже самое, но более навороченное.