Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

กองกับตัวอย่างใน C #


คลาส 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