C# - Queue 类

它表示一个先进先出的对象集合。当您需要先进先出访问项目时,可以使用它。在列表中添加项目时,它被称为 enqueue;移除项目时,它被称为 deque

Queue 类的方法和属性

下表列出了 Queue 类的一些常用属性 -

Sr.No. 属性 &说明
1

Count

获取队列中包含的元素数量。

下表列出了 Queue 类的一些常用方法 -

Sr.No. 方法 &说明
1

public virtual void Clear();

从队列中移除所有元素。

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('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

csharp_collections.html