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

C#-এ IEnumerator vs IEnumerable ইন্টারফেস পার্থক্য

দুটোই ইন্টারফেস কিন্তু ভূমিকা আলাদা:

  • IEnumerable: শুধু GetEnumerator() মেথড থাকে। এটি একটি ইনিউমারেটর ফেরত দেয়। foreach লুপের জন্য প্রয়োজনীয়।
  • IEnumerator: MoveNext(), Reset() মেথড এবং Current প্রোপার্টি থাকে। এটি কালেকশনের মাধ্যমে কাসর নেভিগেট করে।

ইমপ্লিমেন্টেশন উদাহরণ

class Demo : IEnumerable, IEnumerator
{
    // IEnumerable মেথড
    IEnumerator IEnumerable.GetEnumerator()
    {
        throw new NotImplementedException();
    }

    public object Current
    {
        get { throw new NotImplementedException(); }
    }

    // IEnumerator মেথড
    public bool MoveNext()
    {
        throw new NotImplementedException();
    }

    public void Reset()
    {
        throw new NotImplementedException();
    }
}

সাধারণত IEnumerable ইমপ্লিমেন্ট করলে GetEnumerator()-এ নতুন IEnumerator রিটার্ন করা হয়।

  1. জাভাতে ক্লাস এবং ইন্টারফেসের পার্থক্য

  2. জাভাতে Thread ক্লাস এবং Runnable ইন্টারফেসের পার্থক্য

  3. Go এবং Java-এর পার্থক্য

  4. অ্যাবস্ট্রাক্ট ক্লাস এবং ইন্টারফেসের পার্থক্য