কম্পিউটার টিউটোরিয়াল

C#-এ Queue.CopyTo() মেথড


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) বজায় রাখে।
  1. C#-তে Array ক্লাসের CopyTo() মেথডের ব্যবহার

  2. C#-এ Average() মেথড: ইন্টিজার অ্যারের গড় বের করা

  3. C# LINQ Any() মেথড: সিকোয়েন্সে শর্ত পূরণ করা এলিমেন্ট আছে কিনা

  4. C# তে ContainsKey() পদ্ধতি