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 ব্লকে ডিসপোজ নিশ্চিত করুন।