IEnumerable সমর্থন করে এমন কোনও সংগ্রহের মধ্য দিয়ে কীভাবে লুপ করবেন?
উত্তর:
প্রত্যেকের জন্য একটি নিয়মিত করবে:
foreach (var item in collection)
{
// do your stuff
}
একটি foreach
লুপ ব্যবহারের ইতিমধ্যে প্রস্তাবিত পদ্ধতির পাশাপাশি , আমি ভেবেছিলাম আমি আরও উল্লেখ করতে পারি যে যে কোনও অবজেক্ট প্রয়োগ IEnumerable
করে IEnumerator
তা GetEnumerator
পদ্ধতিটির মাধ্যমে একটি ইন্টারফেসও সরবরাহ করে । যদিও এই পদ্ধতিটি সাধারণত প্রয়োজন হয় না, এটি সংগ্রহের মাধ্যমে ম্যানুয়ালি পুনরাবৃত্তি করার জন্য ব্যবহার করা যেতে পারে এবং সংগ্রহের জন্য আপনার নিজস্ব এক্সটেনশন পদ্ধতিগুলি লেখার সময় এটি বিশেষভাবে কার্যকর।
IEnumerable<T> mySequence;
using (var sequenceEnum = mySequence.GetEnumerator())
{
while (sequenceEnum.MoveNext())
{
// Do something with sequenceEnum.Current.
}
}
একটি প্রধান উদাহরণটি হ'ল যখন আপনি একযোগে দুটি অনুক্রমের উপর পুনরাবৃত্তি করতে চান , যা কোনও foreach
লুপের সাহায্যে সম্ভব নয় ।
বা এমনকি খুব ক্লাসিক পুরানো ফ্যাশন পদ্ধতি
IEnumerable<string> collection = new List<string>() { "a", "b", "c" };
for(int i = 0; i < collection.Count(); i++)
{
string str1 = collection.ElementAt(i);
// do your stuff
}
সম্ভবত আপনি এই পদ্ধতিটিও পছন্দ করতে পারেন :-)
foreach (var element in instanceOfAClassThatImplelemntIEnumerable)
{
}
হতে পারে আপনি ভুলে গেছি অপেক্ষায় রয়েছেন আপনার সংগ্রহ ফেরার আগে