请说明 C# 中 Stack 类的典型用法,并列举其常用操作方法。
考察说明
考查对 C# 集合类型 Stack 的基本理解与操作熟练度。
回答思路
- 【回答框架 1】Stack 是后进先出(LIFO)的集合类,位于 System.Collections.Generic 命名空间,通过数组实现,支持泛型。
- 【回答框架 2】常用操作:Push 入栈添加元素到顶部;Pop 出栈移除并返回顶部元素;Peek 返回顶部元素但不移除。
- 【回答框架 3】辅助操作:Count 属性获取元素数量;Clear 清空全部元素;Contains 判断是否存在指定元素;ToArray 转换为数组。
- 【回答框架 4】使用示例:var s=new Stack<int>(); s.Push(1); s.Push(2); var x=s.Pop(); 此时 x 为 2,s 仅含 1。
- 【回答框架 5】注意空栈时调用 Pop 或 Peek 会抛出 InvalidOperationException,应先通过 Count 或 TryPeek/TryPop 检查。
- 【关键点 1】Stack 遵循 LIFO 原则。
- 【关键点 2】Push 添加,Pop 移除并返回,Peek 仅查看。
- 【关键点 3】空栈操作会抛异常,可用 TryPop/TryPeek 避免。
- 【关键点 4】Count 获取元素个数,Clear 清空,Contains 判断存在。
- 【易错点 1】不检查空栈直接 Pop 或 Peek 导致异常。
- 【易错点 2】混淆 Pop 与 Peek 的差异,Peek 不删除元素。
- 【易错点 3】忽略泛型类型,使用非泛型 Stack 造成装箱拆箱性能损失。