Lớp Stack trong C # đại diện cho một tập hợp đơn giản từ cuối vào đầu ra (LIFO) không chung chung của các đối tượng.
Sau đây là các thuộc tính của lớp Stack -
| Sr.No | Thuộc tính &Mô tả |
|---|---|
| 1 | Đếm Nhận số phần tử có trong Ngăn xếp. |
| 2 | Được đồng bộ hóa Nhận một giá trị cho biết quyền truy cập vào Ngăn xếp có được đồng bộ hóa hay không (an toàn chuỗi). |
| 3 | SyncRoot Nhận một đối tượng có thể được sử dụng để đồng bộ hóa truy cập vào Ngăn xếp. |
Sau đây là một số phương thức của lớp Stack -
| Sr.No | Thuộc tính &Mô tả |
|---|---|
| 1 | Clear () Loại bỏ tất cả các đối tượng khỏi ngăn xếp. |
| 2 | Sao chép () Tạo một bản sao nông của Ngăn xếp. |
| 3 | Chứa (Đối tượng) liệu một phần tử có trong Ngăn xếp hay không. |
| 4 | CopyTo (Mảng, Int32) Sao chép Ngăn xếp vào Mảng một chiều hiện có, bắt đầu từ chỉ mục mảng được chỉ định. |
| 5 | Bằng (Đối tượng) Xác định xem đối tượng được chỉ định có bằng đối tượng hiện tại hay không. |
| 6 | GetEnumerator () Trả về IEnumerator cho Ngăn xếp. |
| 7 | GetHashCode () Đóng vai trò là hàm băm mặc định. (Được kế thừa từ Đối tượng) |
| 8 | GetType () Rút ra loại của trường hợp hiện tại. |
| 9 | Peek () Trả về đối tượng ở trên cùng của Ngăn xếp mà không cần xóa đối tượng đó. |
| 10 | Pop () Loại bỏ và trả về đối tượng ở trên cùng của Ngăn xếp |
| 11 | Đẩy (Đối tượng) Chèn một đối tượng vào đầu Ngăn xếp. |
Ví dụ
Bây giờ chúng ta hãy xem một số ví dụ -
Để lấy đối tượng ở đầu Ngăn xếp, mã như sau -
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());
}
} Đầu ra
Điều này sẽ tạo ra kết quả sau -
Count of elements = 10 Element at the top of stack = J Count of elements = 10
Để kiểm tra xem ngăn xếp có phần tử hay không, hãy sử dụng phương thức C # Contains (). Sau đây là mã -
Ví dụ
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));
}
} Đầu ra
Điều này sẽ tạo ra kết quả sau -
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