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