In this chapter you will learn
- What is Generic Stack<T> in C#?
- How to Initialize Generic Stack<T> in C#?
- Programming Example
What is Generic Stack<T> in C#?
The stack is based on Last In First Out [LIFO] mechanism. It is required when you need to access recently added item first. For example, all of you would have used Undo function. When you press Ctrl + Z then the last changes made by you reversed. It is an example of a stack.

How to initialize Stack<T>?
- Stack<string> mystack=new Stack<string>();
Important Properties and Methods of Stack
Properties | Description |
---|---|
Count |
Returns the total count of elements in the Stack. |
Methods | Description |
---|---|
Push |
Inserts an item at the top of the stack. |
Peek |
Returns the top item from the stack. |
Pop |
Removes and returns items from the top of the stack. |
Contains |
Checks whether an item exists in the stack or not. |
Clear |
Removes all items from the stack. |
Programming Example
- using System;
- using System.Collections.Generic;
- namespace GenericStackExample
- {
- public class Program
- {
- public static void Main(string[] args)
- {
- Stack<string> mystack=new Stack<string>();
- //Adding Item in stack
- mystack.Push("Sunday");
- mystack.Push("Monday");
- mystack.Push("Tuesday");
- mystack.Push("Wednesday");
- mystack.Push("Thursday");
- mystack.Push("Friday");
- mystack.Push("Saturday");
- print(mystack);
- //Accessing Top Item without removing it.
- Console.WriteLine("\nTop Item is : {0}",mystack.Peek());
- //Removing Item from Stack
- Console.WriteLine("\nRemoved Top Item of Stack : " + mystack.Pop());
- Console.WriteLine("\nNow Stack's Items are : ");
- print(mystack);
- }
- public static void print(Stack<string> sp)
- {
- foreach(string s in sp)
- {
- Console.Write(s.ToString() + " | ");
- }
- }
- }
- }
Output
Saturday | Friday | Thursday | Wednesday | Tuesday | Monday | Sunday | Top Item is : Saturday Removed Top Item of Stack : Saturday Now Stack's Items are : Friday | Thursday | Wednesday | Tuesday | Monday | Sunday | _
Summary
In this tutorial you learned about Generic Stack<T> In C# with programming example.