如何在C#中使用Stack类?

C#中使用堆栈类表示对象的后进先出集合。当您要首先删除最后添加的元素(例如一stack书)时,可以使用它。

以下是Stack类的方法-

序号方法与说明
1public virtual void Clear();从堆栈中删除所有元素。
2public virtual bool Contains(object obj);确定元素是否在堆栈中。
3public virtual object Peek();返回位于堆栈顶部的对象,但不删除它。
4public virtual object Pop();删除并返回堆栈顶部的对象。
5public virtual void Push(object obj);在堆栈顶部插入一个对象。
6public 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