C# Queue类
它代表了一种先入先出集合对象。当需要一个先入先出项的接入那么可以使用它。当在列表中添加一个项目,它被称为入队,当你删除一个项目,它被称为出队。
队列类的方法和属性
下表列出了一些Queue类的常用属性:
属性 | 描述 |
---|---|
Count | 获取包含在Queue中的元素的数量 |
下表列出了一些队列Queue 类的常用方法:
S.N | 方法名称及用途 |
---|---|
1 |
public virtual void Clear(); 从队列中删除所有元素 |
2 |
public virtual bool Contains( object obj ); 确定一个元素是否在队列中 |
3 |
public virtual object Dequeue(); 移除并返回在队列的开头的对象 |
4 |
public virtual void Enqueue( object obj ); 将对象添加到所述Queue的末端 |
5 |
public virtual object[] ToArray(); 复制队列到一个新的数组 |
6 |
public virtual void TrimToSize(); 设置在队列中的元素的实际数量 |
例子:
下面的例子演示了使用队列:
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