C# Stack:堆栈
在 C# 中,堆栈(Stack)类表示一个后进先出的对象集合,当您需要对项目进行后进先出的访问时,则可以使用堆栈。向堆栈中添加元素称为推入元素,从堆栈中移除元素称为弹出元素。
关于 Stack 类中的完整属性和方法介绍,可以查阅 C# 官方文档。
【示例】下面通过示例演示 Stack 类属性和方法的使用:
Stack 类中的属性
下表列出了 Stack 类中一些常用的属性:| 属性 | 描述 |
|---|---|
| Count | 获取堆栈中包含的元素个数 |
| IsSynchronized | 判断是否同步对堆栈的访问(线程安全) |
| SyncRoot | 获取可用于同步对堆栈访问的对象 |
Stack 类中的方法
下表列出了 Stack 类中一些常用的方法:| 方法名 | 描述 |
|---|---|
| public virtual void Clear() | 从堆栈中移除所有的元素 |
| public virtual bool Contains(object obj) | 判断某个元素是否在堆栈中 |
| public virtual object Peek() | 返回在堆栈顶部的对象,但不移除它 |
| public virtual object Pop() | 移除并返回在堆栈顶部的对象 |
| public virtual void Push(object obj) | 向堆栈顶部添加一个对象 |
| public virtual object[] ToArray() | 复制堆栈到一个新的数组中 |
关于 Stack 类中的完整属性和方法介绍,可以查阅 C# 官方文档。
【示例】下面通过示例演示 Stack 类属性和方法的使用:
using System;
using System.Collections;
namespace c.biancheng.net
{
class Demo
{
static void Main(string[] args){
Stack st = new Stack();
st.Push('A');
st.Push('B');
st.Push('C');
st.Push('D');
Console.WriteLine("当前堆栈中的元素:");
foreach (char c in st){
Console.Write(c + " ");
}
Console.WriteLine();
st.Push('E');
st.Push('F');
Console.WriteLine("堆栈中下一个可弹出的值:\r\n{0}", st.Peek());
Console.WriteLine("当前堆栈中的元素:");
foreach (char c in st){
Console.Write(c + " ");
}
Console.WriteLine();
Console.WriteLine("删除值下面的值:");
Console.Write(st.Pop() + " ");
Console.Write(st.Pop() + " ");
Console.Write(st.Pop() + " " + "\r\n");
Console.WriteLine("当前堆栈中的元素:");
foreach (char c in st){
Console.Write(c + " ");
}
}
}
}
运行结果如下:
当前堆栈中的元素:
D C B A
堆栈中下一个可弹出的值:
F
当前堆栈中的元素:
F E D C B A
删除值下面的值:
F E D
当前堆栈中的元素:
C B A
ICP备案:
公安联网备案: