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