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

C# में Stack.Peek() मेथड


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

सिंटैक्स

public virtual object Peek ();

उदाहरण 1: Peek के साथ स्टैक ऑपरेशंस

using System; 
using System.Collections; 

public class Demo { 
    public static void Main() { 
        Stack stack = new Stack(); 
        stack.Push("Inspiron");
        stack.Push("Alienware");
        stack.Push("Projectors");
        stack.Push("Monitors");
        stack.Push("XPS");
        stack.Push("Laptop");
        stack.Push("Notebook");
        
        Console.WriteLine("Stack elements...");
        foreach(string val in stack) {
            Console.WriteLine(val);
        }
        Console.WriteLine("Count of elements = " + stack.Count);
        Console.WriteLine("Element at the top = " + stack.Peek());
        
        stack.Push("Ultrabook");
        stack.Push("Cameras");
        stack.Push("Keyboards");
        
        Console.WriteLine("\nStack elements...updated");
        foreach(string val in stack) {
            Console.WriteLine(val);
        }
        Console.WriteLine("Element at the top = " + stack.Peek());
        Console.WriteLine("\nCount of elements (updated) = " + stack.Count);
        
        stack.Clear();
        Console.Write("Count of elements (after Clear) = " + stack.Count);
    } 
}

आउटपुट

Stack elements...
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Count of elements = 7
Element at the top = Notebook

Stack elements...updated
Keyboards
Cameras
Ultrabook
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Element at the top = Keyboards
Count of elements (updated) = 10
Count of elements (after Clear) = 0

उदाहरण 2: Contains, Clone और Peek का संयुक्त उपयोग

using System; 
using System.Collections; 

public class Demo { 
    public static void Main() { 
        Stack stack = new Stack(); 
        stack.Push("Inspiron");
        stack.Push("Alienware");
        stack.Push("Projectors");
        stack.Push("Monitors");
        stack.Push("XPS");
        stack.Push("Laptop");
        stack.Push("Notebook");
        
        Console.WriteLine("Stack elements...");
        foreach(string val in stack) {
            Console.WriteLine(val);
        }
        Console.WriteLine("Count of elements = " + stack.Count);
        Console.WriteLine("Element Speakers in stack? = " + stack.Contains("Speakers"));
        
        stack.Push("Headphone");
        stack.Push("Keyboard");
        stack.Push("Earphone");
        
        Console.WriteLine("\nStack elements...updated");
        foreach(string val in stack) {
            Console.WriteLine(val);
        }
        Console.WriteLine("Count of elements (updated) = " + stack.Count);
        Console.WriteLine("Element Alienware in stack? = " + stack.Contains("Alienware"));
        
        Stack stack2 = (Stack)stack.Clone();
        Console.WriteLine("\nStack elements...cloned");
        foreach(string val in stack2) {
            Console.WriteLine(val);
        }
        Console.Write("Count of elements (stack2) = " + stack2.Count);
        Console.WriteLine("Top of the Stack = " + stack2.Peek());
    } 
}

आउटपुट

Stack elements...
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Count of elements = 7
Element at the top = Notebook

Stack elements...updated
Earphone
Keyboard
Headphone
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Count of elements (updated) = 10
Element Alienware in stack? = True

Stack elements...cloned
Earphone
Keyboard
Headphone
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Count of elements (stack2) = 10
Top of the Stack = Earphone

Peek vs Pop तुलना

विशेषताPeek()Pop()
शीर्ष एलिमेंट लौटाता हैहांहां
स्टैक से हटाता हैनहींहां
खाली स्टैक पर अपवादहां (InvalidOperationException)हां (InvalidOperationException)
Count बदलता हैनहींहां (घटाता है)

सर्वोत्तम अभ्यास

  • हमेशा Peek() या Pop() कॉल करने से पहले if (stack.Count > 0) जांचें।
  • जेनेरिक Stack<T> का उपयोग टाइप सेफ्टी के लिए करें।
  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. - C# में TakeWhile() मेथड का उपयोग

    C# में TakeWhile() मेथड System.Linq नेमस्पेस का एक एक्सटेंशन मेथड है जो किसी अनुक्रम से तब तक तत्व लौटाता है जब तक कि निर्दिष्ट शर्त (predicate) सत्य रहती है। जैसे ही शर्त असत्य होती है, तत्वों को लेना बंद कर दिया जाता है। उदाहरण मान लीजिए हमारे पास निम्न सरणी है: int[] arr = { 25, 40, 65, 70 };