Insert an object at the top of the Stack in C#

To insert an object at the top of the Stack in C#, you use the Push() method. The Stack collection follows the LIFO (Last In, First Out) principle, meaning the most recently added element is always at the top and will be the first one removed.

Syntax

Following is the syntax for the Push() method −

stack.Push(item);

Parameters

item: The object to insert at the top of the Stack. The value can be null for reference types.

How It Works

When you call Push(), the new element is added to the top of the stack. All existing elements remain in their current positions, but the new element becomes the topmost item that will be returned first by Peek() or Pop() operations.

Stack Push Operation 300 200 100 Push(300) ? Top (newest) ? Bottom (oldest) LIFO: Last In, First Out

Using Push() with Integer Stack

Example

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main() {
      Stack<int> stack = new Stack<int>();
      stack.Push(100);
      stack.Push(150);
      stack.Push(175);
      stack.Push(200);
      stack.Push(225);
      stack.Push(250);
      Console.WriteLine("Elements in the Stack:");
      foreach(var val in stack) {
         Console.WriteLine(val);
      }
      Console.WriteLine("Count of elements in the Stack = " + stack.Count);
      Console.WriteLine("Does Stack has the element 400? = " + stack.Contains(400));
      stack.Push(300);
      stack.Push(400);
      stack.Push(450);
      stack.Push(500);
      Console.WriteLine("Elements in the Stack... (UPDATED)");
      foreach(var val in stack) {
         Console.WriteLine(val);
      }
      Console.WriteLine("Count of elements in the Stack (UPDATED) = " + stack.Count);
   }
}

The output of the above code is −

Elements in the Stack:
250
225
200
175
150
100
Count of elements in the Stack = 6
Does Stack has the element 400? = False
Elements in the Stack... (UPDATED)
500
450
400
300
250
225
200
175
150
100
Count of elements in the Stack (UPDATED) = 10

Using Push() with String Stack

Example

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main() {
      Stack<string> stack = new Stack<string>();
      stack.Push("A");
      stack.Push("B");
      stack.Push("C");
      stack.Push("D");
      stack.Push("E");
      stack.Push("F");
      stack.Push("G");
      stack.Push("H");
      Console.WriteLine("Count of elements = " + stack.Count);
      Console.WriteLine("Elements in Stack...");
      foreach (string res in stack) {
         Console.WriteLine(res);
      }
      stack.Push("M");
      Console.WriteLine("Elements in the Stack... (UPDATED)");
      foreach(var val in stack) {
         Console.WriteLine(val);
      }
      Console.WriteLine("Count of elements in the Stack (UPDATED) = " + stack.Count);
   }
}

The output of the above code is −

Count of elements = 8
Elements in Stack...
H
G
F
E
D
C
B
A
Elements in the Stack... (UPDATED)
M
H
G
F
E
D
C
B
A
Count of elements in the Stack (UPDATED) = 9

Conclusion

The Push() method in C# adds elements to the top of a Stack following the LIFO principle. Each new element becomes the topmost item, and the stack grows upward as you add more elements. This makes Stack ideal for scenarios like function call management, undo operations, and expression evaluation.

Updated on: 2026-03-17T07:04:36+05:30

333 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements