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.