如何在 C# 中使用 Stack 类?
csharpprogrammingserver side programming更新于 2025/7/13 7:07:17
Stack 类在 C# 中用于表示后进先出的对象集合。当您希望先移除最后添加的元素时(例如,一堆书),可以使用它。
以下是 Stack 类的方法 −
| Sr.No | 方法 &说明 |
|---|---|
| 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); 在 Stack 顶部插入一个对象。 |
| 6 | public virtual object[] ToArray(); 将 Stack 复制到新数组。 |
以下是 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("The next poppable value in stack: {0}", st.Peek());
Console.WriteLine("Current stack: ");
foreach (char c in st) {
Console.Write(c + " ");
}
Console.WriteLine();
Console.WriteLine("Removing values....");
st.Pop();
st.Pop();
st.Pop();
Console.WriteLine("Current stack: ");
foreach (char c in st) {
Console.Write(c + " ");
}
}
}
}
输出
Current stack: D C B A The next poppable value in stack: Q Current stack: Q P D C B A Removing values.... Current stack: C B A

