C#中使用堆栈类表示对象的后进先出集合。当您要首先删除最后添加的元素(例如一stack书)时,可以使用它。
以下是Stack类的方法-
序号 | 方法与说明 |
---|---|
1 | public virtual void Clear() ;从堆栈中删除所有元素。 |
2 | public virtual bool Contains(object obj) ;确定元素是否在堆栈中。 |
3 | public virtual object Peek() ;返回位于堆栈顶部的对象,但不删除它。 |
4 | public virtual object Pop() ;删除并返回堆栈顶部的对象。 |
5 | public virtual void Push(object obj) ;在堆栈顶部插入一个对象。 |
6 | public virtual object[] ToArray() ;将堆栈复制到新数组。 |
以下是Stack类的属性:Count:获取堆栈中元素的数量。
这里是展示如何使用Stack类及其工作的范例Push()
和Pop()
方法-
using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main(string[] args) { Stack st = new Stack(); st.Push('A'); st.Push('B'); st.Push('C'); st.Push('D'); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } Console.WriteLine(); st.Push('P'); st.Push('Q'); Console.WriteLine("堆栈中下一个可弹出的值: {0}", st.Peek()); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } Console.WriteLine(); Console.WriteLine("删除值...."); st.Pop(); st.Pop(); st.Pop(); Console.WriteLine("当前堆栈: "); foreach (char c in st) { Console.Write(c + " "); } } } }
输出结果
Current stack: D C B A 堆栈中下一个可弹出的值: Q Current stack: Q P D C B A 删除值.... 当前堆栈: C B A