C# 隊列(Queue)
隊列(Queue)代表了一個先進先出的對象集合。 當您需要對各項進行先進先出的訪問時,則使用隊列。 當您在列表中添加一項,稱為入隊 ,當您從列表中移除一項時,稱為出隊 。
Queue 類的方法和屬性
下表列出了Queue類的一些常用的屬性 :
属性 | 描述 |
---|---|
Count | 获取 Queue 中包含的元素个数。 |
下表列出了Queue類的一些常用的方法 :
序号 | 方法名 & 描述 |
---|---|
1 | public virtual void Clear();
从 Queue 中移除所有的元素。 |
2 | public virtual bool Contains(
object obj
);
判断某个元素是否在 Queue 中。 |
3 | public virtual object Dequeue(); 移除并返回在 Queue 的开头的对象。 |
4 | public virtual void Enqueue(
object obj
);
向 Queue 的末尾添加一个对象。 |
5 | public virtual object[] ToArray(); 复制 Queue 到一个新的数组中。 |
6 | public virtual void TrimToSize(); 设置容量为 Queue 中元素的实际个数。 |
實例
下面的實例演示了隊列(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: "); 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: AMGW Current queue: AMGWVH Removing values The removed value: A The removed value: M