C# - Queue 类
它表示一个先进先出的对象集合。当您需要先进先出访问项目时,可以使用它。在列表中添加项目时,它被称为 enqueue;移除项目时,它被称为 deque。
Queue 类的方法和属性
下表列出了 Queue 类的一些常用属性 -
| Sr.No. | 属性 &说明 |
|---|---|
| 1 | Count 获取队列中包含的元素数量。 |
下表列出了 Queue 类的一些常用方法 -
| Sr.No. | 方法 &说明 |
|---|---|
| 1 | public virtual void Clear(); 从队列中移除所有元素。 |
| 2 | public virtual bool Contains(object obj); 判断元素是否在队列中。 |
| 3 | public virtual object Dequeue(); 移除并返回队列开头的对象。 |
| 4 | public virtual void Enqueue(object obj); 将对象添加到队列末尾。 |
| 5 | public virtual object[] ToArray(); 将队列复制到新数组。 |
| 6 | public virtual void TrimToSize(); 将容量设置为队列中实际元素的数量。 |
示例
以下示例演示了 Stack 的使用 -
using System;
using System.Collections;
namespace CollectionsApplication {
class Program {
static void Main(string[] args) {
Queue q = new Queue();
q.Enqueue('A');
q.Enqueue('M');
q.Enqueue('G');
q.Enqueue('W');
Console.WriteLine("Current queue: ");
foreach (char c in q) Console.Write(c + " ");
Console.WriteLine();
q.Enqueue('V');
q.Enqueue('H');
Console.WriteLine("Current queue: ");
foreach (char c in q) Console.Write(c + " ");
Console.WriteLine();
Console.WriteLine("Removing some values ");
char ch = (char)q.Dequeue();
Console.WriteLine("The removed value: {0}", ch);
ch = (char)q.Dequeue();
Console.WriteLine("The removed value: {0}", ch);
Console.ReadKey();
}
}
}
当编译并执行上述代码时,它会产生以下结果 -
Current queue: A M G W Current queue: A M G W V H Removing values The removed value: A The removed value: M

csharp_collections.html