位置:首页 > 高级语言 > C#在线教程 > C# Queue类

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