栈是与队列非常类似的另一容器,只是要使用不同的方法访问栈。最后添加到栈中的元素会最先读取。栈是一个先进后出的容器(Lastin,Firstout,LIFO)的容器。与Queue<T>类相似,Stack<T>类实现IEnumerable<T>和ICollection接口。
Stack<T>类成员如下:
Count:返回栈中的个数;
Push:在栈顶添加一个元素;
Pop:在栈顶删除一个元素,并返回该元素。如果栈是空的,就抛出InvalidOperationException异常;
Peek:返回栈顶的元素,但不删除它;
Contains:确定某个元素是否在栈中,如果是,就返回true。
案例如下:
var st = new Stack<char>();
st.Push('A');
st.Push('B');
st.Push('C');
while (st.Count > 0)
{
Console.WriteLine(st.Pop());
}