Queue<T>
就是 C# 里的"排队叫号机"。
想象你去银行办事:先来的人先办,后来的人排在后面,不能插队。
Queue
————————————————————————————————————————————————————————————————————————————
| 方法 | 作用 | 生活类比 |
|---|---|---|
Enqueue() |
加入队列末尾 | 取号排队 |
Dequeue() |
取出队首并移除 | 窗口叫号办理 |
Peek() |
只看队首是谁 | 偷瞄一眼下一个轮到谁 |
Count |
还有几个人排队 | 排队人数 |
————————————————————————————————————————————————————————————————————————————
案例 1:银行排队叫号
csharp
using System.Collections.Generic;
Queue
queue.Enqueue("张三");
queue.Enqueue("李四");
queue.Enqueue("王五");
while (queue.Count > 0)
{
Console.WriteLine(queue.Dequeue() + " 办理完毕");
}
// 输出顺序:张三 → 李四 → 王五
先 Enqueue(取号),再 Dequeue(叫号),保证谁先排谁先办。
————————————————————————————————————————————————————————————————————————————
案例 2:打印任务队列
csharp
Queue
printQueue.Enqueue("简历.pdf");
printQueue.Enqueue("合同.docx");
printQueue.Enqueue("照片.jpg");
Console.WriteLine("正在打印:" + printQueue.Dequeue());
Console.WriteLine("还剩 " + printQueue.Count + " 个任务在排队");
就像打印机任务列表,先发送的文档先打印,后来的只能等着。
————————————————————————————————————————————————————————————————————————————
案例 3:偷看队首(不移除)
csharp
Queue
numbers.Enqueue(10);
numbers.Enqueue(20);
numbers.Enqueue(30);
Console.WriteLine("队首是:" + numbers.Peek()); // 10
numbers.Dequeue();
Console.WriteLine("现在队首是:" + numbers.Peek()); // 20
Peek() 只是看一眼队首是谁,不会把他从队列里移除,适合先确认再处理。

浙公网安备 33010602011771号