Junior — Middle
Dasturlash tilida IEnumerable interfeysini qanday usullar amalga oshiradi?
sobes.tech AI
AIdan javob
C# tilida, IEnumerable interfeysi, GetEnumerator() metodini taqdim etadigan va IEnumerator interfeysini amalga oshiradigan ob'ektni qaytaradigan sinflar va tuzilmalar tomonidan amalga oshiriladi. Bu, kolleksiyani foreach sikli yordamida aylanib chiqishga imkon beradi.
IEnumerableni amalga oshirishning asosiy usullari:
- Qo'lda amalga oshirish:
public class MyCollection : IEnumerable
{
private object[] items = {1, 2, 3};
public IEnumerator GetEnumerator()
{
for (int i = 0; i < items.Length; i++)
yield return items[i];
}
}
- Generic
IEnumerable<T>interfeysini amalga oshirish:
public class MyCollection<T> : IEnumerable<T>
{
private T[] items;
public MyCollection(T[] items) { this.items = items; }
public IEnumerator<T> GetEnumerator()
{
for (int i = 0; i < items.Length; i++)
yield return items[i];
}
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}
- Standart kutubxona kolleksiyalaridan foydalanish, ular allaqachon
IEnumerableni amalga oshiradi (masalan,List<T>,Array).
Asosiy nuqta — GetEnumerator() metodini taqdim etish, bu kolleksiyaning elementlari bo'ylab yurish uchun enumeratorni qaytaradi.