佇列表示一個先進先出的物件集合。當需要先進先出的容器存取時可使用佇列(Queue
)。當在列表中新增專案時,將稱為入隊,當刪除專案時,它被稱為出隊。
下表列出了Queue
類的一些常用屬性:
屬性 | 說明 |
---|---|
Count | 獲取佇列中包含的元素數量。 |
下表列出了Queue
類的一些常用方法:
序號 | 方法 | 描述 |
---|---|---|
1 | public virtual void Clear(); |
清空佇列,即從Queue 中刪除所有元素。 |
2 | public virtual bool Contains(object obj); |
確定元素是否在佇列中 |
3 | public virtual object Dequeue(); |
刪除並返回佇列開頭的物件。 |
4 | public virtual void Enqueue(object obj); |
將物件新增到佇列的末尾。 |
5 | public virtual object[] ToArray(); |
將佇列複製到新陣列。 |
6 | public virtual void TrimToSize(); |
將容量設定為佇列中實際的元素數量。 |
以下範例演示了Stack
的用法:
using System;
using System.Collections;
namespace CollectionsApplication
{
class Program
{
static void Main(string[] args)
{
Queue q = new Queue();
q.Enqueue('Y');
q.Enqueue('I');
q.Enqueue('I');
q.Enqueue('B');
q.Enqueue('A');
q.Enqueue('I');
Console.WriteLine("Current queue: ");
foreach (char c in q) Console.Write(c + " ");
Console.WriteLine();
q.Enqueue('.');
q.Enqueue('C');
q.Enqueue('O');
q.Enqueue('M');
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:
Y I I B A I
Current queue:
Y I I B A I . C O M
Removing some values
The removed value: Y
The removed value: I