C# 进阶 互动版

Queue

  队列(Queue)是其元素以先进先出的方式来处理的集合。先放在队列中的元素会先读取。队列的例子有在机场排的队、人力资源部中等待处理求职信的队列、打印队列中等待处理的打印任务、以循环方式等待处理的线程…………

Queue的声明

  声明一个队列要用关键字 Queue。其语法格式与类的声明相同。

Queue queue=new Queue(); //声明queue
Queue的属性

  Queue常用的属性有Count,其中:Count是获取Queue中的元素个数。

Queue queue=new Queue();
queue.Enqueue(12);           //向queue中增加数据.
queue.Enqueue(12);
int count=queue.Count;       //count这时的值为2.
Queue的方法

  C#为我们提供了一些操作Queue常用的方法如下表:

序号方法名 & 描述
1public virtual void Clear();
从 Queue 中移除所有的元素。
2public virtual bool Contains( object obj );
判断某个元素是否在 Queue 中。
3public virtual object Dequeue();
移除并返回在 Queue 的开头的对象。
4public virtual void Enqueue( object obj );
向 Queue 的末尾添加一个对象。
5public virtual object[] ToArray();
复制 Queue 到一个新的数组中。
6public virtual void TrimToSize();
设置容量为 Queue 中元素的实际个数。
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: "); // A M G W 
         foreach (char c in q)
            Console.Write(c + " ");
         Console.WriteLine();
         q.Enqueue('V');
         q.Enqueue('H');
         Console.WriteLine("Current queue: ");  // A M G W V H      
         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); // A
         ch = (char)q.Dequeue();
         Console.WriteLine("The removed value: {0}", ch); // M 
      }
   }
}