Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Chuyển Queue thành mảng trong C#

Giới thiệu

Phương thức ToArray() của Queue<T> tạo mảng mới chứa các phần tử theo thứ tự FIFO (đầu hàng đợi ở index 0). Queue gốc không đổi.

Ví dụ 1: Queue 10 phần tử

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main()
    {
        Queue queue = new Queue();
        queue.Enqueue(100);
        queue.Enqueue(200);
        queue.Enqueue(300);
        queue.Enqueue(400);
        queue.Enqueue(500);
        queue.Enqueue(600);
        queue.Enqueue(700);
        queue.Enqueue(800);
        queue.Enqueue(900);
        queue.Enqueue(1000);

        Console.WriteLine("Queue (duyệt)...");
        foreach (int i in queue)
        {
            Console.WriteLine(i);
        }

        int[] intArr = queue.ToArray();
        Console.WriteLine("Chuyển Queue sang mảng...");
        foreach (int i in intArr)
        {
            Console.WriteLine(i);
        }
    }
}

Kết quả

Queue (duyệt)...
100
200
300
400
500
600
700
800
900
1000
Chuyển Queue sang mảng...
100
200
300
400
500
600
700
800
900
1000

Ví dụ 2: Queue 6 phần tử

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main()
    {
        Queue queue = new Queue();
        queue.Enqueue("A");
        queue.Enqueue("B");
        queue.Enqueue("C");
        queue.Enqueue("D");
        queue.Enqueue("E");
        queue.Enqueue("F");

        Console.WriteLine("Mảng (duyệt queue)...");
        foreach (string i in queue)
        {
            Console.WriteLine(i);
        }

        string[] strArr = queue.ToArray();
        Console.WriteLine("Chuyển Queue sang mảng...");
        foreach (string i in strArr)
        {
            Console.WriteLine(i);
        }
    }
}

Kết quả

Mảng (duyệt queue)...
A
B
C
D
E
F
Chuyển Queue sang mảng...
A
B
C
D
E
F

Lưu ý

  • Mảng là bản sao độc lập.
  • Hữu ích khi cần truyền cho API yêu cầu mảng hoặc dùng LINQ.
  • Stack<T> cũng có ToArray() (thứ tự LIFO).