要表示C#中对象的先进先出集合,请使用Queue类。当您在列表中添加项目时,它称为入队,而当您删除项目时,它称为双端队列。
Queue类的一些方法包括。
序号 | 方法与说明 |
---|---|
1 | public virtual void 从队列中删除所有元素。 |
2 | public virtual bool 确定元素是否在队列中。 |
3 | public virtual object 删除并返回队列开始处的对象。 |
4 | public virtual void 将一个对象添加到队列的末尾。 |
5 | public virtual object[] 将队列复制到新数组。 |
让我们看看如何在队列类下的C#中使用入队和出队。
using System; using System.Collections; namespace Demo { class Program { static void Main(string[] args) { Queue q = new Queue(); q.Enqueue('A'); q.Enqueue('B'); q.Enqueue('C'); q.Enqueue('D'); Console.WriteLine("Current queue: "); foreach (char c in q) Console.Write(c + " "); Console.WriteLine(); q.Enqueue('E'); q.Enqueue('F'); q.Enqueue('G'); 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("Value removed: {0}", ch); ch = (char)q.Dequeue(); Console.WriteLine("Value removed: {0}", ch); Console.ReadKey(); } } }
输出结果
Current queue: A B C D Current queue: A B C D E F G H Removing some values Value removed: A Value removed: B
上面,使用入队添加了元素。
Queue q = new Queue(); q.Enqueue('A'); q.Enqueue('B'); q.Enqueue('C'); q.Enqueue('D');
使用出队删除元素。
char ch = (char)q.Dequeue(); Console.WriteLine("Value removed: {0}", ch);