C#中的Queue类是什么?

要表示C#中对象的先进先出集合,请使用Queue类。当您在列表中添加项目时,它称为入队,而当您删除项目时,它称为双端队列。

Queue类的一些方法包括。

序号方法与说明
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();

将队列复制到新数组。

让我们看看如何在队列类下的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);