The Stack class in C# represents a simple last-in-first-out (LIFO) non-generic collection of objects.
The following are the properties of the Stack class-
Sr.No | Properties & Description |
---|---|
1 |
Count p> Get the number of elements contained in the Stack. |
2 |
IsSynchronized Gets a value indicating whether to access the stack Synchronous (thread-safe). |
3 | SyncRoot Get objects available for synchronous access |
The following are some methods of Stack class-
Sr.No | Properties and Description th> |
---|---|
Clear()Remove from the stack All objects. | |
Clone()Creates a shallow copy of the stack. | |
Contains(Object) Whether the element is on the stack. | |
CopyTo(Array, Int32)Copy Convert Stack to existing a one-dimensional array of Start at the specified array index. | |
Equal to (Object)Determine whether the specified object is equal to current object. | |
GetEnumerator() strong>Returns the IEnumerator of the stack. | |
td> | GetHashCode() Used as the default hash function. (Inherited from Object) |
GetType() | Get the Type of the current instance . |
Peek() | Returns the object at the top of the stack without deleting it. | 10
Pop() | Deletes and returns the object at the top of the stack |
Push(Object) | Insert an object at the top of the stack. |
To get the object on top of the stack, the code is as follows -
Live Demonstration
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"); stack.Push("I"); stack.Push("J"); Console.WriteLine("Count of elements = "+stack.Count); Console.WriteLine("Element at the top of stack = " + stack.Peek()); } }
Output
Count of elements = 10 Element at the top of stack = J Count of elements = 10
To check if the Stack has elements, use the C# Contains() method . Below is the code -
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); stack.Push(300); stack.Push(400); stack.Push(450); stack.Push(500); 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)); } }
Output
Elements in the Stack: 500 450 400 300 250 225 200 175 150 100 Count of elements in the Stack = 10 Does Stack has the element40400?= False
The above is the detailed content of Stack and C# examples. For more information, please follow other related articles on the PHP Chinese website!