精通 C# Stack:Push、Pop 与实战示例详解
什么是 C# Stack?
栈是遵循后进先出(LIFO)原则的集合。想象一摞书:只能拿走最顶上的书。.NET Stack 类同理——用 Push 在顶部添加元素,用 Pop 从顶部移除元素。
声明 Stack
用 new 关键字实例化栈并赋给变量。
Stack st = new Stack();
添加元素 – Push
Push 方法将新元素放在栈顶。
st.Push(1);
移除元素 – Pop
Pop 方法移除并返回栈顶元素。
var top = st.Pop();
其他常用操作
- Count – 获取栈中项目数。
int total = st.Count;
- Contains – 检查特定值是否存在。
bool hasThree = st.Contains(3);
实战示例 1:使用 Push、Count 和 Contains
下面控制台应用演示栈创建、元素插入、枚举和基本查询。

using System;
using System.Collections;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
// 1. 创建新栈
Stack st = new Stack();
// 2. 压入三个整数
st.Push(1);
st.Push(2);
st.Push(3);
// 3. 枚举栈 – 注意 LIFO 顺序
foreach (Object obj in st) {
Console.WriteLine(obj);
}
// 4. 输出总数
Console.WriteLine($"\nNumber of elements: {st.Count}");
// 5. 检查栈是否包含值 3
Console.WriteLine($"Does stack contain 3? {st.Contains(3)}");
Console.ReadKey();
}
}
}
解析
- 声明名为
st的Stack。 - 压入三个整数;最后压入的(3)成为栈顶元素。
foreach从顶到底枚举栈,显示 3、2、1。Count返回 3,确认三个项目。Contains(3)返回true,证明 3 存在。
运行程序产生如下输出:

实战示例 2:用 Pop 移除栈顶元素
简要演示 Pop 方法。

using System;
using System.Collections;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
Stack st = new Stack();
st.Push(1);
st.Push(2);
st.Push(3);
// 移除栈顶元素 (3)
st.Pop();
foreach (Object obj in st) {
Console.WriteLine(obj);
}
Console.ReadKey();
}
}
}
解析
- 压入 1、2、3 后栈顶为 3。
- 调用
Pop()移除 3,剩 2 和 1。 - 枚举打印 2 后跟 1。
程序输出:

关键要点
Stack基于 LIFO 工作。- 用
Push添加、Pop移除栈顶元素。 - 辅助方法:
Count获取大小,Contains检查成员资格。
C语言
- C# 表达式、语句与代码块:全面指南与实战示例
- C++ do-while 循环详解:语法、实战示例与嵌套循环
- C++ 指针精通:核心概念、代码示例与实战应用
- C++ char 类型完全指南:声明、ASCII 码、输入输出与字符串转换
- C++ 运算符重载实战指南:语法、方法、限制与代码示例
- C++ 函数详解:从声明到调用的实战指南
- C# 集合实战教程:ArrayList、Stack、Queue、Hashtable 等核心类型全解析
- Python str.count() 完全指南:统计字符与子串出现次数实战
- Python round() 函数详解与实战示例
- 精通 Python map() 函数:语法、示例与最佳实践
- Python timeit():精准测量代码执行时间与实战示例
- Python list.count() 专家指南:语法、示例与性能解析