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

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


C# में Queue.Peek() मेथड कतार (Queue) के शुरुआत में स्थित ऑब्जेक्ट को बिना हटाए लौटाता है। यह मेथड तब उपयोगी होता है जब आप अगले एलिमेंट को देखना चाहते हैं लेकिन उसे कतार से निकालना नहीं चाहते।

सिंटैक्स

public virtual object Peek ();

उदाहरण 1: नॉन-जेनेरिक कतार के साथ Peek का उपयोग

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("Queue element at the beginning = " + queue.Peek());
        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
Queue element at the beginning = AB
Is Queue synchronized? = False
Is Queue synchronized now? = True

उदाहरण 2: जेनेरिक Queue<string> के साथ Peek का उपयोग

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 element at the beginning = " + queue.Peek());
        Console.WriteLine("Does the queue have element Jack? = " + queue.Contains("Jack"));
        
        queue.Clear();
        Console.Write("Count of elements (updated) = ");
        Console.WriteLine(queue.Count);
    } 
}

आउटपुट

Count of elements = 8
Queue element at the beginning = Gary
Does the queue have element Jack? = True
Count of elements (updated) = 0

मुख्य अंतर: Peek vs Dequeue

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

सावधानियां

  • यदि कतार खाली है तो Peek() InvalidOperationException फेंकता है।
  • हमेशा Peek() कॉल करने से पहले Count > 0 जांचें।
  1. - C# में SequenceEqual मेथड

    SequenceEqual मेथड का उपयोग संग्रहों की समानता के लिए परीक्षण करने के लिए किया जाता है।आइए तीन स्ट्रिंग सरणियाँ सेट करें:string[] arr1 = { "This", "is", "it" }; string[] arr2 = { "My", "work", "report" }; string[] arr3 = { "This",

  1. - C# में Aggregate() मेथड का उपयोग

    C# में Aggregate() मेथड का उपयोग किसी अनुक्रम पर संचयी संक्रिया (cumulative operation) करने के लिए किया जाता है। यह गणितीय संक्रियाओं जैसे योग (Sum), न्यूनतम (Min), अधिकतम (Max), औसत (Average), गुणनफल (Product) आदि के लिए उपयोगी है। उदाहरण: सरणी के तत्वों का गुणनफल मान लीजिए हमारे पास निम्न सरणी ह

  1. - Java में Queue इंटरफेस की peek(), poll() और remove() विधि में अंतर

    यह एक संग्रह का प्रतिनिधित्व करता है जो प्रसंस्करण से पहले डेटा रखने के लिए अभिप्रेत है। यह फर्स्ट-इन-फर्स्ट-आउट (FIFO) प्रकार की व्यवस्था है। कतार में डाला गया पहला तत्व उससे निकाला गया पहला तत्व होता है। peek() विधि यह विधि वर्तमान कतार के शीर्ष पर ऑब्जेक्ट को लौटाती है, बिना इसे हटाए। यदि कतार खा