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

C# में Queue.GetEnumerator() मेथड - क्यू पर पुनरावृति करें

परिचय

C# में Queue.GetEnumerator() मेथड एक एन्यूमरेटर (enumerator) वापस करता है जो Queue संग्रह के माध्यम से पुनरावृति (iterate) करता है। यह IEnumerator इंटरफेस इम्प्लीमेंट करता है।

सिंटैक्स

public virtual System.Collections.IEnumerator GetEnumerator();

उदाहरण 1: दो क्यूज की तुलना

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);
        queue.Enqueue(400);

        Console.WriteLine("Queue1...");
        IEnumerator demoEnum = queue.GetEnumerator();
        while (demoEnum.MoveNext()) {
            Console.WriteLine(demoEnum.Current);
        }

        Queue queue2 = new Queue();
        queue2.Enqueue(100);
        queue2.Enqueue(150);
        queue2.Enqueue(300);
        queue2.Enqueue(400);

        Console.WriteLine("\nQueue2...");
        demoEnum = queue2.GetEnumerator();
        while (demoEnum.MoveNext()) {
            Console.WriteLine(demoEnum.Current);
        }

        Console.WriteLine(queue.Equals(queue2));
    }
}

आउटपुट

Queue1...
100
200
300
400

Queue2...
100
150
300
400
False

उदाहरण 2: बड़ा क्यू

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);
        queue.Enqueue(400);
        queue.Enqueue(500);
        queue.Enqueue(600);
        queue.Enqueue(700);
        queue.Enqueue(800);
        queue.Enqueue(900);
        queue.Enqueue(1000);

        Console.WriteLine("Queue...");
        IEnumerator demoEnum = queue.GetEnumerator();
        while (demoEnum.MoveNext()) {
            Console.WriteLine(demoEnum.Current);
        }
    }
}

आउटपुट

Queue...
100
200
300
400
500
600
700
800
900
1000

मुख्य बिंदु

  • GetEnumerator() FIFO क्रम में पुनरावृति करता है (पहले डाला गया पहले निकाला जाता है)।
  • वापस किया गया एन्यूमरेटर IEnumerator इम्प्लीमेंट करता है जिसमें MoveNext(), Current, Reset() होते हैं।
  • foreach लूप आंतरिक रूप से इसी मेथड का उपयोग करता है।
  • जेनेरिक Queue<T> के लिए IEnumerable<T> वापस करता है।
  • पुनरावृति के दौरान संग्रह संशोधित करने से InvalidOperationException फेंका जाता है।
  1. - C# में Array.GetEnumerator() मेथड - सरणी के लिए एन्यूमरेटर प्राप्त करें

    C# में Array.GetEnumerator() मेथड सरणी के लिए एक IEnumerator लौटाता है, जिसका उपयोग सरणी के तत्वों पर पुनरावृत्ति (iterate) करने के लिए किया जा सकता है। सिंटैक्स public virtual System.Collections.IEnumerator GetEnumerator (); उदाहरण using System; using System.Collections; 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