C# | Get object at the top of the Stack - Peek operation Last Updated : 01 Feb, 2019 Summarize Comments Improve Suggest changes Share Like Article Like Report 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: The capacity of a Stack is the number of elements the Stack can hold. As elements are added to a Stack, the capacity is automatically increased as required through reallocation. If Count is less than the capacity of the stack, Push is an O(1) operation. If the capacity needs to be increased to accommodate the new element, Push becomes an O(n) operation, where n is Count. Pop is an O(1) operation. Stack accepts null as a valid value and allows duplicate elements. 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: CSHARP // 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: CSHARP // 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: https://docs.microsoft.com/en-us/dotnet/api/system.collections.stack.peek?view=netframework-4.7.2 Comment More infoAdvertise with us Next Article C# | Get object at the top of the Stack - Peek operation S Sahil_Bansall Follow Improve Article Tags : Misc C# CSharp-method CSharp-Generic-Stack CSharp-Collections-Namespace CSharp-Generic-Namespace +2 More Practice Tags : Misc Similar Reads C# | Insert an object at the top of the Stack - Push Operation Stack represents a last-in, first out collection of object. It is used when you need a last-in, first-out access of 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>.Push(T) Method is used to inserts an object 2 min read C# | Get the object at the beginning of the Queue - Peek Operation Queue represents a first-in, first out collection of object. It is used when you need a first-in, first-out access of items. When you add an item in the list, it is called enqueue, and when you remove an item, it is called deque. Queue.Peek Method is used to get the object at the beginning of the Qu 3 min read Removing the object from the top of the Stack in C# Stack<T>.Pop Method is used to remove and returns the object at the top of the Stack<T>. This method comes under the System.Collections.Generic namespace. Syntax: public T Pop (); Return Value: It returns the Object which is to be removed from the top of the Stack. Exception : This metho 2 min read Get the stack size and set the stack size of thread attribute in C Prerequisite : Multithreading Syntax : C // to get size of stack int pthread_attr_getstacksize(const pthread_attr_t* restrict attr, size_t* restrict stacksize); // to set size of stack int pthread_attr_setstacksize(pthread_attr_t* attr, size_t stacksize); . pthread_attr_getstacksize() : It is use fo 2 min read C# | Get the number of elements contained in the Stack Stack represents a last-in, first out collection of object. Stack<T>.Count Property is used to gets the number of elements contained in the Stack. Retrieving the value of this property is an O(1) operation. Syntax: myStack.Count Here myStack is the name of the Stack<T> Return Value: The 2 min read Like