精通 C# Queue:Enqueue、Dequeue 与先进先出操作全解析
什么是 C# Queue?
Queue 实现先进先出(FIFO)原则,如同等公交车的人行队列。最先添加的元素最先被处理或移除。
在 C# 中,队列定义在 System.Collections 命名空间,提供 Enqueue 和 Dequeue 方法镜像现实队列行为。
声明 Queue
用 Queue 类型和 new 关键字实例化队列:
Queue qt = new Queue();
添加元素(Enqueue)
用 Enqueue 将项追加到队列尾部:
qt.Enqueue(1);
移除元素(Dequeue)
Dequeue 方法移除并返回队列前端项:
var first = qt.Dequeue();
有用属性和方法
- Count – 返回当前存储的项目数。
int total = qt.Count;
- Contains – 检查特定值是否存在。
bool hasThree = qt.Contains(3);
实战示例
下面控制台应用演示队列创建、迭代及 Count、Contains 用法:
using System;
using System.Collections;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
Queue qt = new Queue();
qt.Enqueue(1);
qt.Enqueue(2);
qt.Enqueue(3);
foreach (Object obj in qt) {
Console.WriteLine(obj);
}
Console.WriteLine();
Console.WriteLine("Total items: " + qt.Count);
Console.WriteLine("Contains 3? " + qt.Contains(3));
Console.ReadKey();
}
}
}
输出:
移除第一个元素
调用 Dequeue 移除最早入队项。以下片段展示效果:
qt.Dequeue();
foreach (Object obj in qt) {
Console.WriteLine(obj);
}
结果:
总结
C# Queue 遵循 FIFO 语义。用 Enqueue 添加项,Dequeue 移除前端项,用 Count 和 Contains 等属性/方法检查队列。
C语言