C#面试题更新 2026-08-05

请说明 C# 中 Stack 类的典型用法,并列举其常用操作方法。

编码实现技术原理C#

考察说明

考查对 C# 集合类型 Stack 的基本理解与操作熟练度。

回答思路

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