
- C# Basic Tutorial
- C# - Home
- C# - Overview
- C# - Environment
- C# - Program Structure
- C# - Basic Syntax
- C# - Data Types
- C# - Type Conversion
- C# - Variables
- C# - Constants
- C# - Operators
- C# - Decision Making
- C# - Loops
- C# - Encapsulation
- C# - Methods
- C# - Nullables
- C# - Arrays
- C# - Strings
- C# - Structure
- C# - Enums
- C# - Classes
- C# - Inheritance
- C# - Polymorphism
- C# - Operator Overloading
- C# - Interfaces
- C# - Namespaces
- C# - Preprocessor Directives
- C# - Regular Expressions
- C# - Exception Handling
- C# - File I/O
- C# Advanced Tutorial
- C# - Attributes
- C# - Reflection
- C# - Properties
- C# - Indexers
- C# - Delegates
- C# - Events
- C# - Collections
- C# - Generics
- C# - Anonymous Methods
- C# - Unsafe Codes
- C# - Multithreading
- C# Useful Resources
- C# - Questions and Answers
- C# - Quick Guide
- C# - Useful Resources
- C# - Discussion
Implementing Stacks in C#
Stack class is implemented in C# using Push and Pop operations.
Stack is used in C# to represents last-in, first out collection of object. The following are the methods of Stack class −
Sr.No. | Method & Description |
---|---|
1 | public virtual void Clear(); Removes all elements from the Stack. |
2 | public virtual bool Contains(object obj); Determines whether an element is in the Stack. |
3 | public virtual object Peek(); Returns the object at the top of the Stack without removing it. |
4 | public virtual object Pop(); Removes and returns the object at the top of the Stack. |
5 | public virtual void Push(object obj); Inserts an object at the top of the Stack. |
6 | public virtual object[] ToArray(); Copies the Stack to a new array. |
Push operation adds elements.
Stack st = new Stack(); st.Push('A'); st.Push('B'); st.Push('C'); st.Push('D');
The pop operation removes elements from the stack.
st.Push('P'); st.Push('Q');
Here is an example showing how to work with Stack class and its Push() and Pop() method.
Example
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
- Related Articles
- JVM Stacks
- ADSL protocol stacks
- Implementing Photomosaics in Python
- Implementing Priority Sort in JavaScript
- Implementing Linear Search in JavaScript
- Implementing String Comparison in MongoDB?
- Implementing counting sort in JavaScript
- Implementing block search in JavaScript
- Implementing models reversion in Django
- Python Program to Implement Queues using Stacks
- Implementing the Array.prototype.lastIndexOf() function in JavaScript
- Implementing the page factory in pagination
- Explain the conversions of expressions of stacks in C language
- Explain the evaluation of expressions of stacks in C language
- Implementing MongoDB map-reduce

Advertisements