带有示例的 C# 队列:什么是 C# 队列以及如何使用?

C# 中的队列是什么?

队列是一个特殊情况的集合,它代表了先进先出的概念。想象一下一队人在等公交车。通常,第一个进入队列的人将是第一个进入公交车的人。同样,最后一个进入队列的人将是最后一个进入公交车的人。元素被添加到队列中,一个在另一个的顶部。

将元素添加到队列的过程是入队操作。要从队列中删除元素,可以使用出队操作。Queues C# 中的操作类似于我们之前看到的堆栈。

让我们详细了解如何在 C# 中使用队列以及 C# 中队列集合可用的操作。

队列声明

队列的声明如下所示。队列是借助队列数据类型创建的。使用“new”关键字创建队列对象。然后将该对象分配给变量 qt。

Queue qt = new Queue()

将元素添加到队列

enqueue 方法用于将元素添加到队列中。该语句的一般语法如下。

Queue.enqueue(element)

从队列中删除元素

dequeue 方法用于从队列中删除一个元素。dequeue 操作将返回队列的第一个元素。该语句的一般语法如下:

Queue.dequeue()

计数

此属性用于获取队列中的项目数。以下是此语句的一般语法。

Queue.Count

包含

此方法用于查看队列中是否存在某个元素。以下是此语句的一般语法。如果元素存在,则该语句将返回 true,否则将返回值 false。

Queue.Contains(element)

现在,让我们从代码层面看一下它是如何工作的。下面提到的所有代码都将写入我们的控制台应用程序。

代码将写入我们的 Program.cs 文件中。在下面的程序中,我们将编写代码来查看如何使用上述方法。

例如:

在此 C# 队列示例中,我们将了解如何创建队列。接下来,我们将了解如何显示队列的元素,以及如何使用 Count 和 Contain 方法。

C# 中的队列
C# 队列示例
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   Queue qt = new Queue();
   qt.Enqueue(1);
   qt.Enqueue(2);
   qt.Enqueue(3);

   foreach (Object obj in qt)
   {
    Console.WriteLine(obj);
   }
    Console.WriteLine(); Console.WriteLine();
    Console.WriteLine("The number of elements in the Queue " + qt.Count);
    Console.WriteLine("Does the Queue contain " + qt.Contains(3));
    Console.ReadKey();
   }
 }
}

代码说明

  1. 第一步是声明队列。这里我们将 qt 声明为一个变量,用于保存队列的元素。
  2. 接下来,我们向队列添加 3 个元素。每个元素都通过“enqueue”方法添加。
  3. 现在需要注意的一点是,队列中的元素不能像 数组列表。我们需要使用不同的方法来显示队列的元素。下面介绍如何显示队列的元素。
    • 我们首先声明一个名为 obj 的临时变量。这将用于保存队列的每个元素。
    • 然后我们使用 foreach 语句遍历队列的每个元素。
    • 对于每个队列元素,其值被分配给 obj 变量。
    • 然后我们使用 Console.Writeline 命令将该值显示到控制台。
  4. 我们使用“Count”属性来获取队列中的项目数。此属性将返回一个数字。然后我们将该值显示到控制台。
  5. 然后我们使用“Contains”方法来查看队列中是否存在值 3。这将返回 true 或 false 值。然后我们将此返回值显示到控制台。

如果正确输入上述代码并运行程序,将显示以下输出。

输出

C# 中的队列
C# 队列示例

从输出中,我们可以清楚地看到队列的元素被显示出来。请注意,与““queue” 中的“第一个被推送到队列的元素”会首先显示。输出中还会显示队列元素的数量。此外,还会显示 True 值,表示队列上定义了值 3。

C# 队列出队

现在让我们看看删除功能。我们将看到从队列中删除最后一个元素所需的代码。

C# 队列出队
C# 队列出队示例
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   Queue qt = new Queue();
   qt.Enqueue(1);
   qt.Enqueue(2);
   qt.Enqueue(3);

   qt.Dequeue();

   foreach (Object obj in qt)
   {
    Console.WriteLine(obj);
   }
    Console.ReadKey();
   }
 }
}

代码说明

  1. 这里我们只调用“dequeue”方法,该方法用于从队列中删除一个元素。此方法将删除队列的第一个元素。

如果正确输入上述代码并运行程序,将显示以下输出。

输出:

C# 队列出队
C# 队列出队示例

从输出中,我们可以看到添加到队列的第一个元素(即元素 1)已从队列中删除。

总结

队列基于先进先出的概念。将元素添加到队列的操作称为入队操作。从队列中删除元素的操作称为出队操作。