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