要表示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);