C#-এ Queue.CopyTo() মেথডটি Queue-এর এলিমেন্টগুলো একটি বিদ্যমান এক-মাত্রিক অ্যারে (one-dimensional Array)-এ কপি করতে ব্যবহৃত হয়, নির্দিষ্ট অ্যারে ইন্ডেক্স থেকে শুরু করে।
সিনট্যাক্স (Syntax)
public virtual void CopyTo (Array arr, int index);
এখানে, arr হল এক-মাত্রিক অ্যারে যা Queue-এর এলিমেন্টগুলোর গন্তব্য (destination)। index প্যারামিটারটি অ্যারেতে শূন্য-ভিত্তিক ইন্ডেক্স যেখানে থেকে কপি শুরু হবে।
উদাহরণ ১: ইন্টিজার Queue কপি করা অ্যারে-এ
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
Queue<int> queue = new Queue<int>();
queue.Enqueue(100);
queue.Enqueue(200);
queue.Enqueue(300);
Console.Write("Count of elements = ");
Console.WriteLine(queue.Count);
Console.WriteLine("Queue...");
foreach(int i in queue) {
Console.WriteLine(i);
}
Console.WriteLine("Does the queue has element 500? = " + queue.Contains(500));
int[] intArr = new int[5];
intArr[0] = 1;
intArr[1] = 2;
intArr[2] = 3;
intArr[3] = 4;
queue.CopyTo(intArr, 1);
Console.WriteLine("\nQueue (Updated)");
foreach(int i in queue) {
Console.WriteLine(i);
}
Console.WriteLine("\nArray (Updated)");
foreach(int i in intArr) {
Console.WriteLine(i);
}
}
}
আউটপুট
Count of elements = 3 Queue... 100 200 300 Does the queue has element 500? = False Queue (Updated) 100 200 300 Array (Updated) 1 100 200 300 0
উদাহরণ ২: স্ট্রিং Queue কপি করা অ্যারে-এ
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
Queue<string> queue = new Queue<string>();
queue.Enqueue("Tim");
queue.Enqueue("Jack");
queue.Enqueue("Nathan");
queue.Enqueue("Tom");
queue.Enqueue("David");
queue.Enqueue("Mark");
Console.Write("Count of elements = ");
Console.WriteLine(queue.Count);
Console.WriteLine("Queue...");
foreach(string i in queue) {
Console.WriteLine(i);
}
string[] strArr = new string[10];
strArr[0] = "AB";
strArr[1] = "BC";
strArr[2] = "DE";
strArr[3] = "EF";
queue.CopyTo(strArr, 1);
Console.WriteLine("\nQueue (Updated)");
foreach(string i in queue) {
Console.WriteLine(i);
}
Console.WriteLine("\nArray (Updated)");
foreach(string i in strArr) {
Console.WriteLine(i);
}
}
}
আউটপুট
Count of elements = 6 Queue... Tim Jack Nathan Tom David Mark Queue (Updated) Tim Jack Nathan Tom David Mark Array (Updated) AB Tim Jack Nathan Tom David Mark
মূল পয়েন্টস
CopyTo()মেথড Queue-এর এলিমেন্টগুলো অ্যারেতে কপি করে, কিন্তু Queue নিজে অপরিবর্তিত থাকে।- অ্যারেতে পর্যাপ্ত জায়গা থাকতে হবে (
array.Length - index >= queue.Count), অন্যথায়ArgumentExceptionথ্রো করে। indexপ্যারামিটার অবশ্যই ০ বা তার বেশি হতে হবে এবং অ্যারের দৈর্ঘ্যের চেয়ে ছোট হতে হবে।- এই মেথডটি
ICollectionইন্টারফেসের অংশ। - কপি করা এলিমেন্টগুলো Queue-এর অর্ডার (FIFO) বজায় রাখে।