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).