คลาส Stack ใน C# ใช้แทนคอลเลกชันแบบ last-in, first-out (LIFO) ใช้เมื่อต้องการนำสมาชิกที่เพิ่มล่าสุดออกก่อน เช่น กองหนังสือ
เมธอดของ Stack Class
| No. | Method & Description |
|---|---|
| 1 | Clear() - ลบสมาชิกทั้งหมด |
| 2 | Contains(object) - ตรวจสอบว่ามีสมาชิกอยู่หรือไม่ |
| 3 | Peek() - ดูสมาชิกบนสุดโดยไม่ลบ |
| 4 | Pop() - นำสมาชิกบนสุดออกและคืนค่า |
| 5 | Push(object) - ใส่สมาชิกที่บนสุด |
| 6 | ToArray() - คัดลอก Stack เป็นอาร์เรย์ใหม่ |
คุณสมบัติ: Count - จำนวนสมาชิกใน stack
ตัวอย่าง: Push และ Pop
using System;
using System.Collections;
namespace CollectionsApplication {
class Program {
static void Main(string[] args) {
Stack st = new Stack();
st.Push('A');
st.Push('B');
st.Push('C');
st.Push('D');
Console.WriteLine("Current stack: ");
foreach (char c in st) Console.Write(c + " ");
Console.WriteLine();
st.Push('P');
st.Push('Q');
Console.WriteLine("The next poppable value in stack: {0}", st.Peek());
Console.WriteLine("Current stack: ");
foreach (char c in st) Console.Write(c + " ");
Console.WriteLine();
Console.WriteLine("Removing values....");
st.Pop();
st.Pop();
st.Pop();
Console.WriteLine("Current stack: ");
foreach (char c in st) Console.Write(c + " ");
}
}
}
ผลลัพธ์
Current stack: D C B A The next poppable value in stack: Q Current stack: Q P D C B A Removing values.... Current stack: C B A