c#中queue_C#中的Queue.Enqueue()方法示例

c#中queue

C#Queue.Enqueue()方法 (C# Queue.Enqueue() method)

Queue.Enqueue() method is used to add an object/element at the end of the Queue.

Queue.Enqueue()方法用于在Queue的末尾添加一个对象/元素。

Syntax:

句法:

    void Queue.Enqueue(Object);

Parameters: Object – an object/element to be added.

参数: Object-要添加的对象/元素。

Return value: void – it returns nothing.

返回值: void –不返回任何内容。

Example:

例:

    declare and initialize a Queue:
    Queue que = new Queue();   

    insertting elements:
    que.Enqueue(100);
    que.Enqueue(200);
    que.Enqueue(300);
    que.Enqueue(400);
    que.Enqueue(500);
    
    Output:
    100 200 300 400 500

C#示例使用Queue.Enqueue()方法将对象/元素添加到队列 (C# example to add an object/element to the Queue using Queue.Enqueue() method)

using System;
using System.Text;
using System.Collections;

namespace Test
{
    class Program
    {
        //function to print queue elements
        static void printQueue(Queue q)
        {
            foreach (Object obj in q)
            {
                Console.Write(obj + " ");
            }
            Console.WriteLine();
        }

        static void Main(string[] args)
        {
            //declare and initialize a Queue
            Queue que = new Queue();

            //insertting elements
            que.Enqueue(100);
            que.Enqueue(200);
            que.Enqueue(300);
            que.Enqueue(400);
            que.Enqueue(500);

            //printing queue elements
            Console.WriteLine("Queue elements are...");
            printQueue(que);

            //hit ENTER to exit
            Console.ReadLine();
        }
    }
}

Output

输出量

Queue elements are...
100 200 300 400 500

Reference: Queue.Enqueue(Object) Method

参考: Queue.Enqueue(Object)方法

翻译自: https://www.includehelp.com/dot-net/queue-enqueue-method-with-example-in-c-sharp.aspx

c#中queue

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ConcurrentQueueC# 的一个线程安全的队列类。它允许多个线程同时对队列进行读写操作,而不需要额外的同步机制。这使得 ConcurrentQueue 成为在并发环境处理数据的理想选择。 你可以使用 ConcurrentQueue 来实现多个线程之间的安全数据共享。它提供了 Enqueue、Dequeue 和 TryDequeue方法,用于添加和移除队列的元素。Enqueue 方法用于将元素添加到队列的末尾,Dequeue 方法用于从队列的开头移除元素,而 TryDequeue 方法则可以尝试移除队列的开头元素,并返回一个布尔值表示操作是否成功。 下面是一个简单的示例代码,展示了如何使用 ConcurrentQueue: ```csharp using System; using System.Collections.Concurrent; using System.Threading.Tasks; class Program { static void Main() { ConcurrentQueue<int> queue = new ConcurrentQueue<int>(); // 启动两个线程同时向队列添加数据 Task producer1 = Task.Run(() => { for (int i = 0; i < 5; i++) { queue.Enqueue(i); Console.WriteLine($"Producer 1 Enqueued: {i}"); } }); Task producer2 = Task.Run(() => { for (int i = 5; i < 10; i++) { queue.Enqueue(i); Console.WriteLine($"Producer 2 Enqueued: {i}"); } }); // 启动一个线程从队列消费数据 Task consumer = Task.Run(() => { int result; while (queue.TryDequeue(out result)) { Console.WriteLine($"Consumer Dequeued: {result}"); } }); // 等待所有线程执行完毕 Task.WaitAll(producer1, producer2, consumer); Console.ReadLine(); } } ``` 这个示例,我们创建了一个 ConcurrentQueue 实例,并在两个生产者线程使用 Enqueue 方法向队列添加数据。同时,我们启动了一个消费者线程,使用 TryDequeue 方法从队列消费数据。注意,在消费者线程使用 TryDequeue 方法是为了确保线程安全。 希望这个例子能帮到你!如果还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值