C# | How to create a Stack Last Updated : 11 Jul, 2025 Comments Improve Suggest changes 2 Likes Like Report Stack() constructor is used to initialize a new instance of the Stack class which will be empty and will have the default initial capacity. Stack represents a last-in, first out collection of object. It is used when you need 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. This class comes under System.Collections namespace. Syntax: public Stack (); Important Points: The number of elements that a Stack can hold is known as the Capacity of the Stack. If the elements will be added to the Stack then capacity will be automatically increased by reallocating the internal array. Specifying the initial capacity will eliminate the requirement to perform a number of resizing operations while adding elements to the Stack if the size of the collection can be estimated. This constructor is an O(1) operation. Example 1: csharp // C# Program to illustrate how // to create a Stack using System; using System.Collections; class Geeks { // Main Method public static void Main(String[] args) { // st is the Stack object // Stack() is the constructor // used to initializes a new // instance of the Stack class Stack st = new Stack(); // Count property is used to get the // number of elements in Stack // It will give 0 as no elements // are present currently Console.WriteLine(st.Count); } } Output: 0 Example 2: csharp // C# Program to illustrate how // to create a Stack using System; using System.Collections; class Geeks { // Main Method public static void Main(String[] args) { // st is the Stack object // Stack() is the constructor // used to initializes a new // instance of the Stack class Stack st = new Stack(); Console.Write("Before Push Method: "); // Count property is used to get the // number of elements in Stack // It will give 0 as no elements // are present currently Console.WriteLine(st.Count); // Inserting the elements // into the Stack st.Push("Chandigarh"); st.Push("Delhi"); st.Push("Noida"); st.Push("Himachal"); st.Push("Punjab"); st.Push("Jammu"); Console.Write("After Push Method: "); // Count property is used to get the // number of elements in st Console.WriteLine(st.Count); } } Output: Before Push Method: 0 After Push Method: 6 Reference: https://learn.microsoft.com/en-us/dotnet/api/system.collections.stack.-ctor?view=netframework-4.7.2#System_Collections_Stack__ctor Create Quiz Comment K Kirti_Mangal Follow 2 Improve K Kirti_Mangal Follow 2 Improve Article Tags : C# CSharp-Collections-Namespace CSharp-Collections-Stack Explore IntroductionC# Tutorial 2 min read Introduction to .NET Framework 6 min read C# .NET Framework (Basic Architecture and Component Stack) 6 min read C# Hello World 2 min read Common Language Runtime (CLR) in C# 4 min read FundamentalsC# Identifiers 2 min read Data Types in C# 6 min read C# Variables 4 min read C# Literals 5 min read Operators in C# 7 min read C# Keywords 5 min read Control StatementsC# Decision Making (if, if-else, if-else-if ladder, nested if, switch, nested switch) 5 min read C# Switch Statement 4 min read Loops in C# 4 min read C# Jump Statements (Break, Continue, Goto, Return and Throw) 4 min read OOP ConceptsClass and Objects in C# 4 min read Constructors in C# 5 min read C# Inheritance 3 min read Encapsulation in C# 2 min read C# Abstraction 4 min read MethodsMethods in C# 4 min read Method Overloading in C# 4 min read Method Parameters in C# 4 min read Method Overriding in C# 7 min read Anonymous Method in C# 2 min read ArraysArrays in C# 6 min read Jagged Arrays in C# 4 min read Array Class in C# 5 min read How to Sort an Array in C# | Array.Sort() Method Set - 1 8 min read How to find the rank of an array in C# 2 min read ArrayListArrayList in C# 6 min read ArrayList Class in C# 4 min read C# | Array vs ArrayList 2 min read StringStrings in C# 6 min read C# Verbatim String Literal - @ 5 min read C# String Class 9 min read C# StringBuilder 2 min read C# String vs StringBuilder 3 min read TupleC# Tuple 7 min read C# Tuple Class 3 min read C# ValueTuple 7 min read C# ValueTuple Struct 4 min read IndexersC# Indexers 5 min read C# Multidimensional Indexers 5 min read C# - Overloading of Indexers 3 min read Like