Open In App

C# | Get object at the top of the Stack – Peek operation

Stack represents a last-in, first out collection of object. It is used when you need a last-in, first-out access to items. When you add an item in the list, it is called pushing the item and when you remove it, it is called popping the item. Stack<T>.Peek Method is used to returns the object at the top of the Stack<T> without removing it. This method is an O(1) operation.

Properties:



Syntax:

object Peek(); 

Return Value: The Peek() method returns the last (top-most) value from the Stack<T> of type System.Object.



Exception: Calling Peek() method on empty stack will throw InvalidOperationException. So always check for elements in the stack before retrieving elements using the Peek() method.

Below given are some examples to understand the implementation in a better way.

Example 1:




// C# code to Get object at
// the top of the Stack
using System;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Stack of strings
        Stack<string> myStack = new Stack<string>();
  
        // Inserting the elements into the Stack
        myStack.Push("1st Element");
        myStack.Push("2nd Element");
        myStack.Push("3rd Element");
        myStack.Push("4th Element");
        myStack.Push("5th Element");
        myStack.Push("6th Element");
  
        // Displaying the count of elements
        // contained in the Stack
        Console.Write("Total number of elements in the Stack are : ");
  
        Console.WriteLine(myStack.Count);
  
        // Displaying the top element of Stack
        // without removing it from the Stack
        Console.WriteLine("Element at the top is : " + myStack.Peek());
  
        // Displaying the top element of Stack
        // without removing it from the Stack
        Console.WriteLine("Element at the top is : " + myStack.Peek());
  
        // Displaying the count of elements
        // contained in the Stack
        Console.Write("Total number of elements in the Stack are : ");
  
        Console.WriteLine(myStack.Count);
    }
}

Output:

Total number of elements in the Stack are : 6
Element at the top is : 6th Element
Element at the top is : 6th Element
Total number of elements in the Stack are : 6

Example 2:




// C# code to Get object at
// the top of the Stack
using System;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Stack of Integers
        Stack<int> myStack = new Stack<int>();
  
        // Displaying the top element of Stack
        // without removing it from the Stack
        // Calling Peek() method on empty stack
        // will throw InvalidOperationException.
        Console.WriteLine("Element at the top is : " + myStack.Peek());
    }
}

Runtime Error:

Unhandled Exception:
System.InvalidOperationException: Stack empty.

Reference:


Article Tags :
C#