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

C#-এ Queue.Synchronized() পদ্ধতি


C#-এ Queue.Synchronized() পদ্ধতিটি ব্যবহার করা হয় একটি নতুন কিউ ফেরত দেওয়ার জন্য যা মূল কিউকে মোড়ায় (wraps) এবং থ্রেড-সেফ (thread-safe)।

সিনট্যাক্স

সিনট্যাক্স নিম্নরূপ -

public static System.Collections.Queue Synchronized (System.Collections.Queue queue);

উপরে, প্যারামিটার queue হলো সিঙ্ক্রোনাইজ করার কিউ।

উদাহরণ

এখন একটি উদাহরণ দেখি -

using System; 
using System.Collections; 
public class Demo { 
    public static void Main(){ 
        Queue queue = new Queue(); 
        queue.Enqueue("AB"); 
        queue.Enqueue("BC"); 
        queue.Enqueue("CD"); 
        queue.Enqueue("DE"); 
        queue.Enqueue("EF"); 
        queue.Enqueue("FG"); 
        queue.Enqueue("GH"); 
        queue.Enqueue("HI"); 
        Console.WriteLine("Queue..."); 
        IEnumerator demoEnum = queue.GetEnumerator(); 
        while (demoEnum.MoveNext()){ 
            Console.WriteLine(demoEnum.Current); 
        } 
        Console.WriteLine("Is Queue synchronized? = "+queue.IsSynchronized); 
        Queue queue2 = Queue.Synchronized(queue); 
        Console.WriteLine("Is Queue synchronized now? = "+queue2.IsSynchronized); 
    } 
}

আউটপুট

এটি নিম্নলিখিত আউটপুট তৈরি করবে -

Queue...
AB
BC
CD
DE
EF
FG
GH
HI
Is Queue synchronized? = False
Is Queue synchronized now? = True

উদাহরণ

এখন আরেকটি উদাহরণ দেখি -

using System; 
using System.Collections; 
public class Demo { 
    public static void Main(){ 
        Queue queue = new Queue(); 
        queue.Enqueue(100); 
        queue.Enqueue(200); 
        queue.Enqueue(300); 
        Console.WriteLine("Is Queue synchronized? = "+queue.IsSynchronized); 
        Queue queue2 = Queue.Synchronized(queue); 
        Console.WriteLine("Is Queue synchronized now? = "+queue2.IsSynchronized); 
        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); 
        } 
    } 
}

আউটপুট

এটি নিম্নলিখিত আউটপুট তৈরি করবে -

Is Queue synchronized? = False
Is Queue synchronized now? = True
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

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

  2. সি শার্পে SequenceEqual মেথড

  3. C#-এ Aggregate মেথড

  4. C#-এ TakeWhile মেথড