C#-এ স্ট্যাক ক্লাস বস্তুর একটি সাধারণ লাস্ট-ইন-ফার্স্ট-আউট (LIFO) নন-জেনারিক সংগ্রহের প্রতিনিধিত্ব করে।
স্ট্যাক ক্লাস -
এর বৈশিষ্ট্যগুলি নিম্নরূপ| Sr. No | সম্পত্তি এবং বর্ণনা |
|---|---|
| 1 | গণনা স্ট্যাকের মধ্যে থাকা উপাদানের সংখ্যা পায়। |
| 2 | সিঙ্ক্রোনাইজ করা হয়েছে৷ স্ট্যাকের অ্যাক্সেস সিঙ্ক্রোনাইজ করা হয়েছে কিনা তা নির্দেশ করে একটি মান পায় (থ্রেড নিরাপদ)। |
| 3 | SyncRoot স্ট্যাকের অ্যাক্সেস সিঙ্ক্রোনাইজ করতে ব্যবহার করা যেতে পারে এমন একটি বস্তু পায়। |
স্ট্যাক ক্লাস -
এর কিছু পদ্ধতি নিচে দেওয়া হল| Sr. No | সম্পত্তি এবং বর্ণনা |
|---|---|
| 1 | ক্লিয়ার()৷ স্ট্যাক থেকে সমস্ত বস্তু সরিয়ে দেয়। |
| 2 | ক্লোন() স্ট্যাকের একটি অগভীর অনুলিপি তৈরি করে। |
| 3 | ধারণ করে(বস্তু) একটি উপাদান স্ট্যাকের মধ্যে আছে কিনা। |
| 4 | CopyTo(Array, Int32)৷ স্ট্যাককে একটি বিদ্যমান এক-মাত্রিক অ্যারেতে অনুলিপি করে, নির্দিষ্ট অ্যারে সূচক থেকে শুরু করে। |
| 5 | সমান (বস্তু) নির্দিষ্ট বস্তু বর্তমান বস্তুর সমান কিনা তা নির্ধারণ করে। |
| 6 | GetEnumerator() স্ট্যাকের জন্য একটি IEnumerator প্রদান করে। |
| 7 | GetHashCode() ডিফল্ট হ্যাশ ফাংশন হিসাবে কাজ করে। (অবজেক্ট থেকে উত্তরাধিকারসূত্রে প্রাপ্ত) |
| 8 | GetType() বর্তমান উদাহরণের ধরন পায়। |
| 9 | পিক() এটি অপসারণ না করে স্ট্যাকের শীর্ষে বস্তুটি ফেরত দেয়। |
| 10 | পপ() স্ট্যাকের শীর্ষে থাকা বস্তুটিকে সরিয়ে দেয় এবং ফেরত দেয় |
| 11 | পুশ(বস্তু) স্ট্যাকের শীর্ষে একটি বস্তু সন্নিবেশ করান। |
উদাহরণ
আসুন এখন কিছু উদাহরণ দেখি -
স্ট্যাকের শীর্ষে অবজেক্ট পেতে, কোডটি নিম্নরূপ -
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
একটি স্ট্যাকের একটি উপাদান আছে কিনা তা পরীক্ষা করতে, 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