Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Stack.Push() Method in C#
The Stack.Push() method in C# is used to insert an object at the top of the Stack. This method follows the Last In, First Out (LIFO) principle, where the most recently pushed element appears first when iterating through the stack.
Syntax
The syntax is as follows −
public virtual void Push (object ob);
Parameters
ob − The object to push onto the stack. It can be null.
Return Value
This method does not return any value. It is a void method.
Using Stack.Push() with Integers
using System;
using System.Collections;
public class Demo {
public static void Main() {
Stack stack = new Stack();
stack.Push(150);
stack.Push(300);
stack.Push(500);
stack.Push(750);
stack.Push(1000);
stack.Push(1250);
stack.Push(1500);
stack.Push(2000);
stack.Push(2500);
Console.WriteLine("Stack elements...");
foreach(int val in stack) {
Console.WriteLine(val);
}
Console.WriteLine("Count of elements = " + stack.Count);
stack.Push(3000);
stack.Push(3500);
stack.Push(4000);
Console.WriteLine("\nStack elements...updated");
foreach(int val in stack) {
Console.WriteLine(val);
}
Console.WriteLine("\nCount of elements (updated) = " + stack.Count);
Stack stack2 = (Stack)stack.Clone();
Console.WriteLine("\nStack elements...cloned");
foreach(int val in stack2) {
Console.WriteLine(val);
}
Console.Write("Count of elements in cloned stack(updated) = " + stack2.Count);
}
}
The output of the above code is −
Stack elements... 2500 2000 1500 1250 1000 750 500 300 150 Count of elements = 9 Stack elements...updated 4000 3500 3000 2500 2000 1500 1250 1000 750 500 300 150 Count of elements (updated) = 12 Stack elements...cloned 4000 3500 3000 2500 2000 1500 1250 1000 750 500 300 150 Count of elements in cloned stack(updated) = 12
Using Stack.Push() with Strings
using System;
using System.Collections;
public class Demo {
public static void Main() {
Stack stack = new Stack();
stack.Push("Inspiron");
stack.Push("Alienware");
stack.Push("Projectors");
stack.Push("Monitors");
stack.Push("XPS");
stack.Push("Laptop");
stack.Push("Notebook");
Console.WriteLine("Stack elements...");
foreach(string val in stack) {
Console.WriteLine(val);
}
Console.WriteLine("Count of elements = " + stack.Count);
stack.Push("Ultrabook");
stack.Push("Cameras");
stack.Push("Keyboards");
Console.WriteLine("\nStack elements...updated");
foreach(string val in stack) {
Console.WriteLine(val);
}
Console.WriteLine("\nCount of elements (updated) = " + stack.Count);
stack.Clear();
Console.Write("Count of elements (updated) = " + stack.Count);
}
}
The output of the above code is −
Stack elements... Notebook Laptop XPS Monitors Projectors Alienware Inspiron Count of elements = 7 Stack elements...updated Keyboards Cameras Ultrabook Notebook Laptop XPS Monitors Projectors Alienware Inspiron Count of elements (updated) = 10 Count of elements (updated) = 0
Using Stack.Push() with Mixed Data Types
using System;
using System.Collections;
public class Demo {
public static void Main() {
Stack stack = new Stack();
stack.Push(100);
stack.Push("Hello");
stack.Push(3.14);
stack.Push(true);
stack.Push(null);
Console.WriteLine("Stack elements (mixed types):");
foreach(object val in stack) {
if (val == null) {
Console.WriteLine("null");
} else {
Console.WriteLine(val + " (" + val.GetType().Name + ")");
}
}
Console.WriteLine("Count = " + stack.Count);
}
}
The output of the above code is −
Stack elements (mixed types): null True (Boolean) 3.14 (Double) Hello (String) 100 (Int32) Count = 5
Conclusion
The Stack.Push() method adds elements to the top of a stack following LIFO order. It accepts any object type including null values, making it versatile for storing mixed data types. The most recently pushed element always appears first during iteration.
