কম্পিউটার টিউটোরিয়াল

C#-এ Stack.GetEnumerator() মেথড

C#-এ Stack.GetEnumerator() মেথডটি Stack-এর জন্য একটি IEnumerator রিটার্ন করতে ব্যবহৃত হয়। এই ইনুমারেটর ব্যবহার করে স্ট্যাকে সংরক্ষিত উপাদানগুলো ক্রমাগত অ্যাক্সেস করা যায়।

সিনট্যাক্স

public virtual System.Collections.IEnumerator GetEnumerator ();

উদাহরণ ১

নিচের উদাহরণে দুটি Stack তৈরি করে তাতে মান যোগ করা হয়েছে। প্রথম Stack-এ foreach লুপ দিয়ে উপাদানগুলো প্রিন্ট করা হয়েছে, আর দ্বিতীয় Stack-এ GetEnumerator() মেথড ব্যবহার করে ইনুমারেটর নিয়ে while লুপ দিয়ে উপাদানগুলো প্রদর্শন করা হয়েছে।

using System;
using System.Collections;

public class Demo {
    public static void Main(){
        Stack stack1 = new Stack();
        stack1.Push(150);
        stack1.Push(300);
        stack1.Push(500);
        stack1.Push(750);
        stack1.Push(1000);
        
        Console.WriteLine("Stack1 elements...");
        foreach(int val in stack1){
            Console.WriteLine(val);
        }
        
        Stack stack2 = new Stack();
        stack2.Push(350);
        stack2.Push(400);
        stack2.Push(500);
        stack2.Push(850);
        stack2.Push(900);
        
        IEnumerator demoEnum = stack2.GetEnumerator();
        Console.WriteLine("Stack2 elements...");
        while (demoEnum.MoveNext()) {
            Console.WriteLine(demoEnum.Current);
        }
        
        Console.WriteLine("\nAre both the stacks equal? = " + stack1.Equals(stack2));
    }
}

আউটপুট

Stack1 elements...
1000
750
500
300
150
Stack2 elements...
900
850
500
400
350
Are both the stacks equal? = False

উদাহরণ ২

এই উদাহরণে স্ট্রিং টাইপের Stack তৈরি করা হয়েছে এবং বিভিন্ন অপারেশন যেমন Push, Count, Contains, Clone এবং GetEnumerator এর ব্যবহার দেখানো হয়েছে।

using System;
using System.Collections;

public class Demo {
    public static void Main(){
        Stack stack = new Stack();
        stack.Push("Inspiron");
        stack.Push("Alienware");
        stack.Push("Projectors");
        stack.Push("Monitors");
        stack.Push("XPS");
        stack.Push("Laptop");
        stack.Push("Notebook");
        
        Console.WriteLine("Stack elements...");
        foreach(string val in stack){
            Console.WriteLine(val);
        }
        
        Console.WriteLine("Count of elements = " + stack.Count);
        Console.WriteLine("Element Speakers is the stack? = " + stack.Contains("Speakers"));
        
        stack.Push("Headphone");
        stack.Push("Keyboard");
        stack.Push("Earphone");
        
        Console.WriteLine("\nStack elements...updated");
        foreach(string val in stack){
            Console.WriteLine(val);
        }
        
        Console.WriteLine("Count of elements (updated) = " + stack.Count);
        Console.WriteLine("\nElement Alienware is the stack? = " + stack.Contains("Alienware"));
        
        Stack stack2 = (Stack)stack.Clone();
        Console.WriteLine("\nStack elements...cloned");
        IEnumerator demoEnum = stack2.GetEnumerator();
        while (demoEnum.MoveNext()) {
            Console.WriteLine(demoEnum.Current);
        }
        Console.WriteLine("Count of elements (updated) = " + stack.Count);
    }
}

আউটপুট

Stack elements...
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Count of elements = 7
Element Speakers is the stack? = False
Stack elements...updated
Earphone
Keyboard
Headphone
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Count of elements (updated) = 10
Element Alienware is the stack? = True
Stack elements...cloned
Earphone
Keyboard
Headphone
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Count of elements (updated) = 10
  1. C#-এ Stack.Clone() পদ্ধতি

  2. C#-এ Stack.Equals() মেথড

  3. C#-এ Array.GetEnumerator() মেথড: অ্যারে জন্য IEnumerator পেতে

  4. C#-এ Stack ক্লাসে Push এবং Pop অপারেশন