Junior — Middle
Программалоо тилинде IEnumerable интерфейсин ишке ашыруу үчүн кандай ыкмалар бар?
sobes.tech AI
AIден жооп
C# тилинде, IEnumerable интерфейси класстар жана структуралар тарабынан ишке ашырылат, алар GetEnumerator() ыкмасын камсыз кылат, ал IEnumerator интерфейсин ишке ашыратуучу объектти кайтарат. Бул коллекцияны foreach цикли аркылуу өтүүгө мүмкүндүк берет.
IEnumerable ишке ашыруунун негизги жолдору:
- Кол менен ишке ашыруу:
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];
}
}
- Жалпы
IEnumerable<T>интерфейсин ишке ашыруу:
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();
}
- Стандарт китепкананын коллекцияларын колдонуу, алар алдын ала
IEnumerableишке ашырган (мисалы,List<T>,Array).
Негизги мааниси — GetEnumerator() ыкмасын камсыз кылуу, ал коллекциянын элементтерин өтүү үчүн энуматорду кайтарат.