IEnumerable হলো একটি ইন্টারফেস যা একমাত্র মেথড GetEnumerator() ডিফাইন করে যা IEnumerator ইন্টারফেস রিটার্ন করে। এটি সকল নন-জেনেরিক কালেকশনের বেস ইন্টারফেস যা এনামারেট করা যায়। এটি foreach স্টেটমেন্টের সাথে কাজ করে।
List<T> ক্লাস অবজেক্টের তালিকা রিপ্রেজেন্ট করে যা ইনডেক্স দিয়ে অ্যাক্সেস করা যায়। এটি System.Collections.Generic নেমস্পেসে আছে।
উদাহরণ ১: IEnumerable থেকে List
static void Main(string[] args)
{
List<int> list = new List<int>();
IEnumerable<int> enumerable = Enumerable.Range(1, 5);
foreach (var item in enumerable)
{
list.Add(item);
}
foreach (var item in list)
{
Console.WriteLine(item);
}
Console.ReadLine();
}
আউটপুট
1
2
3
4
5
উদাহরণ ২: List থেকে IEnumerable
static void Main(string[] args)
{
List<int> list = new List<int>();
IEnumerable<int> enumerable = Enumerable.Range(1, 5);
foreach (var item in enumerable) { list.Add(item); }
foreach (var item in list) { Console.WriteLine(item); }
IEnumerable<int> enumerableAfterConversion = list.AsEnumerable();
foreach (var item in enumerableAfterConversion)
{
Console.WriteLine(item);
}
Console.ReadLine();
}
আউটপুট
1
2
3
4
5
1
2
3
4
5
নোট: List<T> কনস্ট্রাক্টরেও IEnumerable<T> পাস করা যায়: var list = new List<int>(enumerable);। ToList() এক্সটেনশন মেথডও ব্যবহার করা যায় (LINQ)।