How to use Stack class in C#?

CsharpProgrammingServer Side Programming

Stack class is used in C# to represent last-in, first out collection of object. It is used when you want the last added element to be removed first, for example, stack of books.

The following are the methods of Stack class −

Sr.NoMethod & Description
1public virtual void Clear();
Removes all elements from the Stack.
2public virtual bool Contains(object obj);
Determines whether an element is in the Stack.
3public virtual object Peek();
Returns the object at the top of the Stack without removing it.
4public virtual object Pop();
Removes and returns the object at the top of the Stack.
5public virtual void Push(object obj);
Inserts an object at the top of the Stack.
6public virtual object[] ToArray();
Copies the Stack to a new array.

The following is the property of Stack class: Count: Gets the number of elements in the stack.

Here is an example showing how to work with Stack class and its Push() and Pop() method −

Example

 Live Demo

using System;
using System.Collections;

namespace CollectionsApplication {
   class Program {
      static void Main(string[] args) {
         Stack st = new Stack();

         st.Push('A');
         st.Push('B');
         st.Push('C');
         st.Push('D');

         Console.WriteLine("Current stack: ");
         foreach (char c in st) {
            Console.Write(c + " ");
         }
         Console.WriteLine();

         st.Push('P');
         st.Push('Q');
         Console.WriteLine("The next poppable value in stack: {0}", st.Peek());
         Console.WriteLine("Current stack: ");
     
         foreach (char c in st) {
            Console.Write(c + " ");
         }

         Console.WriteLine();

         Console.WriteLine("Removing values....");
         st.Pop();
         st.Pop();
         st.Pop();

         Console.WriteLine("Current stack: ");
         foreach (char c in st) {
            Console.Write(c + " ");
         }
      }
   }
}

Output

Current stack:
D C B A
The next poppable value in stack: Q
Current stack:
Q P D C B A
Removing values....
Current stack:
C B A
raja
Published on 06-Aug-2018 06:54:46
Advertisements