C# 中的 Stack 類表示一個簡單的后進先出 (LIFO) 非泛型對象集合。
以下是 Stack 類的屬性 –
Sr.No | 屬性 &說明 |
---|---|
1 | 計數 p>
獲取 Stack 中包含的元素數量。 |
2 | IsSynchronized
獲取一個值,指示是否訪問堆棧 |
3 | SyncRoot
獲取可用于同步訪問的對象 |
以下是 Stack 類的一些方法 –
Sr.No | 屬性與描述 th> |
---|---|
1 | Clear()
從堆棧中刪除所有對象。 |
2 | Clone()
創建堆棧的淺表副本。 |
3 | Contains(Object)
?元素是否在堆棧中。 |
4 | CopyTo(Array, Int32)
復制將 Stack 轉換為現有的一維數組, |
5 | 等于(Object)
判斷指定對象是否等于 |
6 | GetEnumerator() strong>
返回堆棧的 IEnumerator。 |
7 td> | GetHashCode()
用作默認哈希函數。 |
8 | GetType()
獲取當前實例的Type。 |
9 | Peek()
返回堆棧頂部的對象而不刪除它。 |
10 | Pop()
刪除并返回位于以下位置的對象堆棧頂部 |
11 | Push(Object )
在堆棧頂部插入一個對象。 |
示例
現在讓我們看一些示例 –
要獲取堆棧頂部的對象,代碼如下 –
?現場演示
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()); } }
登錄后復制
輸出
這將產生以下輸出 –
Count of elements = 10 Element at the top of stack = J Count of elements = 10
登錄后復制
要檢查 Stack 是否有元素,請使用 C# Contains() 方法。以下是代碼 –
示例
實時演示
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)); } }
登錄后復制
輸出
這將產生以下輸出 –
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
登錄后復制
以上就是堆棧與 C# 示例的詳細內容,更多請關注www.xfxf.net其它相關文章!