คลาส Stack ใน C# แสดงถึงคอลเล็กชันออบเจ็กต์แบบเข้าก่อนออกก่อน (LIFO) แบบธรรมดาแบบธรรมดา
ต่อไปนี้เป็นคุณสมบัติของคลาส Stack -
Sr.No | คุณสมบัติ &คำอธิบาย |
---|---|
1 | นับ รับจำนวนขององค์ประกอบที่มีอยู่ในกอง |
2 | ซิงโครไนซ์ รับค่าที่ระบุว่าการเข้าถึง Stack นั้นซิงโครไนซ์หรือไม่ (เธรดที่ปลอดภัย) |
3 | SyncRoot รับอ็อบเจ็กต์ที่สามารถใช้เพื่อซิงโครไนซ์การเข้าถึงสแต็ก |
ต่อไปนี้เป็นวิธีการบางอย่างของคลาส Stack -
Sr.No | คุณสมบัติ &คำอธิบาย |
---|---|
1 | ล้าง() ลบอ็อบเจ็กต์ทั้งหมดออกจากสแต็ก |
2 | โคลน() สร้างสำเนาแบบตื้นของสแต็ก |
3 | ประกอบด้วย (วัตถุ) ไม่ว่าจะเป็นองค์ประกอบในกองหรือไม่ |
4 | CopyTo(Array, Int32) คัดลอกสแต็กไปยังอาร์เรย์หนึ่งมิติที่มีอยู่ โดยเริ่มต้นที่ดัชนีอาร์เรย์ที่ระบุ |
5 | เท่ากับ (วัตถุ) กำหนดว่าวัตถุที่ระบุเท่ากับวัตถุปัจจุบันหรือไม่ |
6 | GetEnumerator() ส่งกลับ IEnumerator สำหรับกอง |
7 | GetHashCode() ทำหน้าที่เป็นฟังก์ชันแฮชเริ่มต้น (สืบทอดจาก Object) |
8 | GetType() รับชนิดของอินสแตนซ์ปัจจุบัน |
9 | Peek() ส่งกลับวัตถุที่ด้านบนของกองโดยไม่ต้องเอาออก |
10 | ป๊อป() ลบและส่งคืนวัตถุที่ด้านบนของ Stack |
11 | ผลัก(วัตถุ) แทรกวัตถุที่ด้านบนของสแต็ก |
ตัวอย่าง
ให้เรามาดูตัวอย่างบางส่วนกัน −
ในการรับวัตถุที่ด้านบนสุดของ Stack โค้ดจะเป็นดังนี้ -
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# ประกอบด้วย () ต่อไปนี้เป็นรหัส -
ตัวอย่าง
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