0% found this document useful (0 votes)
54 views3 pages

C# Stack - T

The Stack<T> class in C# represents a last-in, first-out (LIFO) collection of objects. It allows adding elements with Push() and removing with Pop() or Peek(). Elements are retrieved in reverse order of insertion. Stack<T> provides type-safe operations and avoids boxing/unboxing for value types. It can be used to store temporary data in LIFO fashion, such as for undo operations.

Uploaded by

Jepsie Beron
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views3 pages

C# Stack - T

The Stack<T> class in C# represents a last-in, first-out (LIFO) collection of objects. It allows adding elements with Push() and removing with Pop() or Peek(). Elements are retrieved in reverse order of insertion. Stack<T> provides type-safe operations and avoids boxing/unboxing for value types. It can be used to store temporary data in LIFO fashion, such as for undo operations.

Uploaded by

Jepsie Beron
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

8/27/2021 C# Stack<T>

C# - Stack<T>

Stack   is a special type of collection that stores elements in LIFO style (Last In First Out).
C# includes the generic  Stack<T>   and non-generic  Stack   collection classes. It is
recommended to use the generic  Stack<T>  collection.

Stack is useful to store temporary data in LIFO style, and you might want to delete an
element after retrieving its value.

Stack<T> Characteristics
Stack<T>  is Last In First Out collection.
It comes under  System.Collection.Generic  namespace.
Stack<T>   can contain elements of the specified type. It provides compile-time type checking and

doesn't perform boxing-unboxing because it is generic.


Elements can be added using the  Push()  method. Cannot use collection-initializer syntax.
Elements can be retrieved using the  Pop()  and the  Peek()  methods. It does not support an indexer.

Creating a Stack

You can create an object of the  Stack<T>   by specifying a type parameter for the type of
elements it can store. The following example creates and adds elements in
the  Stack<T> using the  Push()   method. Stack allows null (for reference types) and duplicate
values.

Example: Create and Add Elements in Stack

Stack<int> myStack = new Stack<int>();

myStack.Push(1);

myStack.Push(2);

myStack.Push(3);

myStack.Push(4);

foreach (var item in myStack)

Console.Write(item + ","); //prints 4,3,2,1,

Try it

You can also create a Stack from an array, as shown below.

Example: Create and Add Elements in Stack

int[] arr = new int[]{ 1, 2, 3, 4};

Stack<int> myStack = new Stack<int>(arr);

https://www.tutorialsteacher.com/csharp/csharp-stack 1/3
8/27/2021 C# Stack<T>

foreach (var item in myStack)

Console.Write(item + ","); //prints 4,3,2,1,

Try it

Stack<T> Properties and Methods:


Property Usage

Count Returns the total count of elements in the Stack.

Method Usage

Push(T) 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(T) Checks whether an item exists in the stack or not.

Clear() Removes all items from the stack.

Pop()

The  Pop()  method returns the last element and removes it from a stack. If a stack is
empty, then it will throw the  InvalidOperationException . So, always check for the number of
elements in a stack before calling the  Pop()  method.

Example: Access Stack using Pop()

Stack<int> myStack = new Stack<int>();

myStack.Push(1);

myStack.Push(2);

myStack.Push(3);

myStack.Push(4);

Console.Write("Number of elements in Stack: {0}", myStack.Count);

while (myStack.Count > 0)

Console.Write(myStack.Pop() + ",");

Console.Write("Number of elements in Stack: {0}", myStack.Count);

Try it

Output:

Number of elements in Stack: 4 


4,3,2,1, 
Number of elements in Stack: 0

https://www.tutorialsteacher.com/csharp/csharp-stack 2/3
8/27/2021 C# Stack<T>

Peek()

The  Peek()   method returns the lastly added value from the stack but does not remove it.
Calling the  Peek()   method on an empty stack will throw the  InvalidOperationException . So,
always check for elements in the stack before retrieving elements using the  Peek()  method.

Example: Retrieve Elements usign Peek()

Stack<int> myStack = new Stack<int>();

myStack.Push(1);

myStack.Push(2);

myStack.Push(3);

myStack.Push(4);

Console.Write("Number of elements in Stack: {0}", myStack.Count);// prints 4

if(myStack.Count > 0){

Console.WriteLine(myStack.Peek()); // prints 4

Console.WriteLine(myStack.Peek()); // prints 4

Console.Write("Number of elements in Stack: {0}", myStack.Count);// prints 4

Try it

Contains()

The  Contains()  method checks whether the specified element exists in a Stack collection or
not. It returns true if it exists, otherwise false.

Example: Contains()

Stack<int> myStack = new Stack<int>();

myStack.Push(1);

myStack.Push(2);

myStack.Push(3);

myStack.Push(4);

myStack.Contains(2); // returns true

myStack.Contains(10); // returns false

https://www.tutorialsteacher.com/csharp/csharp-stack 3/3

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy