C# Queue 示例:什么是 C# Queue 以及如何使用?

C# 中的 Queue 是什么?

Queue 是一种特殊的集合,它代表了“先进先出”的概念。想象一下人们排队等公交车。通常,第一个排队的人会第一个上公交车。同样,最后一个排队的人也会是最后一个上公交车的人。元素被一个接一个地添加到队列中。

向队列添加元素的 عملية 称为入队(enqueuer)。要从队列中删除元素,您可以使用出队(dequeuer)操作。C# 中 Queue 的操作与我们之前看到的 Stack 类似。

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

Queue 的声明

Queue 的声明如下所示。Queue 是通过 Queue 数据类型创建的。“new”关键字用于创建 Queue 对象。然后将该对象赋给变量 qt。

Queue qt = new Queue()

向 Queue 添加元素

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

Queue.enqueue(element)

从 Queue 中移除元素

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

Queue.dequeue()

Count (计数)

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

Queue.Count

包含

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

Queue.Contains(element)

现在,让我们在代码级别看看它是如何工作的。以下所有代码都将被写入我们的控制台应用程序。

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

示例

在此 C# Queue 示例中,我们将看到如何创建队列。接下来,我们将看到如何显示队列的元素,并使用 Count 和 Contains 方法。

Queue in C#
C# Queue 示例
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. 第一步是声明 Queue。在这里,我们将 qt 声明为一个变量来保存我们 Queue 的元素。
  2. 接下来,我们向 Queue 添加 3 个元素。每个元素都通过“enqueue”方法添加。
  3. 现在,关于 Queue 需要注意的一点是,元素不能像 arrayList 那样通过索引位置访问。我们需要使用不同的方法来显示 Queue 的元素。所以,我们这样显示队列的元素。
    • 我们首先声明一个名为 obj 的临时变量。它将用于保存 Queue 的每个元素。
    • 然后,我们使用 foreach 语句遍历 Queue 的每个元素。
    • 对于每个 Queue 元素,值都会赋给 obj 变量。
    • 然后,我们使用 Console.Writeline 命令将值显示到控制台。
  4. 我们使用“Count”属性来获取 Queue 中的项目数。此属性将返回一个数字。然后我们将该值显示到控制台。
  5. 然后,我们使用“Contains”方法来查看值 3 是否存在于我们的 Queue 中。这将返回 true 或 false 值。然后我们将返回的值显示到控制台。

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

输出

Queue in C#
C# Queue 示例

从输出中,我们可以清楚地看到 Queue 的元素被显示出来了。请注意,与“stack”不同,“queue”中第一个入队的元素会先显示。输出中也显示了队列元素的计数。此外,还显示了 True 值,表明值 3 已在队列中定义。

C# Queue Dequeue

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

C# Queue Dequeue
C# Queue Dequeue 示例
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# Queue Dequeue
C# Queue Dequeue 示例

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

摘要

Queue 基于“先进先出”的概念。添加元素的 عملية 称为入队。从队列中移除元素的 عملية 称为出队。