Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में Queue.Dequeue मेथड


C# में Queue.Dequeue() मेथड कतार (Queue) के शुरुआत में स्थित ऑब्जेक्ट को हटाता है और उसे लौटाता है। यह FIFO (First-In-First-Out) सिद्धांत का पालन करता है।

सिंटैक्स

public virtual object Dequeue ();

उदाहरण 1: बेसिक Dequeue ऑपरेशन

using System; 
using System.Collections.Generic; 

public class Demo { 
    public static void Main() { 
        Queue<string> queue = new Queue<string>(); 
        queue.Enqueue("A");
        queue.Enqueue("B");
        queue.Enqueue("C");
        queue.Enqueue("D");
        queue.Enqueue("E");
        queue.Enqueue("F");
        queue.Enqueue("G");
        
        Console.WriteLine("Count of elements = " + queue.Count);
        Console.WriteLine("Element at the beginning of queue = " + queue.Peek());
        
        queue.Dequeue(); // A हटाता है
        queue.Dequeue(); // B हटाता है
        queue.Dequeue(); // C हटाता है
        
        Console.WriteLine("Count of elements = " + queue.Count);
    } 
}

आउटपुट

Count of elements = 7
Element at the beginning of queue = A
Count of elements = 4

उदाहरण 2: Dequeue के साथ कतार प्रोसेसिंग

using System; 
using System.Collections.Generic; 

public class Demo { 
    public static void Main() { 
        Queue<string> queue = new Queue<string>(); 
        queue.Enqueue("Gary");
        queue.Enqueue("Jack");
        queue.Enqueue("Ryan");
        queue.Enqueue("Kevin");
        queue.Enqueue("Mark");
        queue.Enqueue("Jack");
        queue.Enqueue("Ryan");
        queue.Enqueue("Kevin");
        
        Console.Write("Count of elements = ");
        Console.WriteLine(queue.Count);
        Console.WriteLine("Queue...");
        foreach(string i in queue) {
            Console.WriteLine(i);
        }
        
        queue.Dequeue(); // Gary हटाता है
        queue.Dequeue(); // Jack हटाता है
        
        Console.WriteLine("Queue...UPDATED");
        foreach(string i in queue) {
            Console.WriteLine(i);
        }
        Console.Write("Count of elements (updated) = " + queue.Count);
        
        queue.Clear();
        Console.Write("\nCount of elements (after Clear) = ");
        Console.WriteLine(queue.Count);
    } 
}

आउटपुट

Count of elements = 8
Queue...
Gary
Jack
Ryan
Kevin
Mark
Jack
Ryan
Kevin
Queue...UPDATED
Ryan
Kevin
Mark
Jack
Ryan
Kevin
Count of elements (updated) = 6
Count of elements (after Clear) = 0

Dequeue vs Peek तुलना

मेथडविवरण
Dequeue()शुरुआत का एलिमेंट हटाकर लौटाता है
Peek()शुरुआत का एलिमेंट केवल देखता है, हटाता नहीं

सावधानियां

  • खाली कतार पर Dequeue() कॉल करने से InvalidOperationException फेंका जाता है।
  • हमेशा if (queue.Count > 0) जांचें।
  • जेनेरिक Queue<T> टाइप-सेफ Dequeue प्रदान करता है।

सामान्य उपयोग पैटर्न

// सभी एलिमेंट्स प्रोसेस करें
while (queue.Count > 0) {
    var item = queue.Dequeue();
    Process(item);
}

// या TryDequeue पैटर्न (ConcurrentQueue के लिए)
if (queue.TryDequeue(out var item)) {
    Process(item);
}
  1. - C# में Queue.TrimExcess() मेथड उदाहरण सहित

    C# में Queue.TrimExcess() मेथड का उपयोग क्षमता को Queue<T> में वास्तविक तत्वों की संख्या पर सेट करने के लिए किया जाता है, यदि वह संख्या वर्तमान क्षमता के 90 प्रतिशत से कम है। सिंटैक्स public void TrimExcess (); उदाहरण using System; using System.Collections.Generic; public class Demo {

  1. - C# में Queue क्लास: Enqueue और Dequeue मेथड्स

    Queue (कतार) एक FIFO (First-In-First-Out) संग्रह है। System.Collections (नॉन-जेनेरिक) और System.Collections.Generic (जेनेरिक Queue<T>) में उपलब्ध। मुख्य मेथड्स Enqueue(T item): अंत में आइटम जोड़ता है। Dequeue(): सामने से आइटम हटाकर लौटाता है। खाली होने पर InvalidOperationException फेंकता है

  1. - C# में क्यू इंटरफेस

    Queue फर्स्ट-इन, फर्स्ट-आउट (FIFO) ऑब्जेक्ट्स का संग्रह दर्शाता है। इसका उपयोग तब किया जाता है जब आपको आइटम्स तक फर्स्ट-इन, फर्स्ट-आउट एक्सेस की आवश्यकता होती है। मुख्य ऑपरेशन्स Enqueue: आइटम जोड़ना (पीछे से) Dequeue: आइटम हटाना (सामने से) Peek: बिना हटाए सामने का आइटम देखना उदाहरण using System; u