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

C#-এ LinkedList-এ পুনরাবৃত্তি করার জন্য এনিউমারেটর পান

LinkedList<T>.GetEnumerator() মেথড একটি এনিউমারেটর রিটার্ন করে যা লিস্টের হেড থেকে টেইল পর্যন্ত ফরওয়ার্ড ডিরেকশনে পুনরাবৃত্তি করে। এটি IEnumerator<T> ইমপ্লিমেন্ট করে।

উদাহরণ ১: এনিউমারেটর দিয়ে পুনরাবৃত্তি

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main(){
        LinkedList list = new LinkedList();
        list.AddLast("A");
        list.AddLast("B");
        list.AddLast("C");
        list.AddLast("D");
        list.AddLast("E");
        list.AddLast("F");
        list.AddLast("G");
        list.AddLast("H");
        list.AddLast("I");
        list.AddLast("J");
        
        Console.WriteLine("নোডের সংখ্যা = " + list.Count);
        Console.WriteLine("LinkedList-এ উপাদানসমূহ... (এনিউমারেটর দিয়ে পুনরাবৃত্তি)");
        LinkedList.Enumerator demoEnum = list.GetEnumerator();
        while (demoEnum.MoveNext()) {
            string res = demoEnum.Current;
            Console.WriteLine(res);
        }
    }
}

আউটপুট

নোডের সংখ্যা = 10
LinkedList-এ উপাদানসমূহ... (এনিউমারেটর দিয়ে পুনরাবৃত্তি)
A
B
C
D
E
F
G
H
I
J

উদাহরণ ২: একাধিক লিস্ট এবং সমানতা

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main(String[] args){
        LinkedList list1 = new LinkedList();
        list1.AddLast("One");
        list1.AddLast("Two");
        list1.AddLast("Three");
        list1.AddLast("Four");
        list1.AddLast("Five");
        
        Console.WriteLine("LinkedList1-এ উপাদানসমূহ...");
        foreach (string res in list1){
            Console.WriteLine(res);
        }
        
        LinkedList list2 = new LinkedList();
        list2.AddLast("India");
        list2.AddLast("US");
        list2.AddLast("UK");
        list2.AddLast("Canada");
        list2.AddLast("Poland");
        list2.AddLast("Netherlands");
        
        Console.WriteLine("LinkedList2-এ উপাদানসমূহ... (এনিউমারেটর দিয়ে পুনরাবৃত্তি)");
        LinkedList.Enumerator demoEnum = list2.GetEnumerator();
        while (demoEnum.MoveNext()) {
            string res = demoEnum.Current;
            Console.WriteLine(res);
        }
        
        LinkedList list3 = new LinkedList();
        list3 = list2; // রেফারেন্স অ্যাসাইনমেন্ট
        Console.WriteLine("LinkedList3 LinkedList2-এর সমান? = " + list3.Equals(list2));
    }
}

আউটপুট

LinkedList1-এ উপাদানসমূহ...
One
Two
Three
Four
Five
LinkedList2-এ উপাদানসমূহ... (এনিউমারেটর দিয়ে পুনরাবৃত্তি)
India
US
UK
Canada
Poland
Netherlands
LinkedList3 LinkedList2-এর সমান? = True

সুবিধা: foreach লুপ স্বয়ংক্রিয়ভাবে GetEnumerator() কল করে এবং Dispose() হ্যান্ডেল করে। ম্যানুয়াল এনিউমারেটর ব্যবহার করলে try-finally ব্লকে ডিসপোজ নিশ্চিত করুন।

  1. C#-এ LinkedList-র সব নোড মুছুন

  2. C#-এ LinkedList-তে মান রয়েছে কিনা তা যাচাই করুন

  3. C# তে LinkedList AddLast পদ্ধতি

  4. C#-এ সিঙ্গলি লিঙ্কড লিস্ট ট্রাভার্সাল (LinkedList<T>)