Sobes.tech
Junior — Middle

Proqramlaşdırma dilində IEnumerable interfeysini hansı metodlar həyata keçirir?

sobes.tech Süni İntellekt

AI-dan cavab

C# dilində, IEnumerable interfeysi, GetEnumerator() metodunu təmin edən və IEnumerator interfeysini həyata keçirən sinflər və strukturlar tərəfindən həyata keçirilir. Bu, kolleksiyanı foreach dövrü ilə keçməyə imkan verir.

IEnumerable-in həyata keçirilməsinin əsas yolları:

  1. Əl ilə həyata keçirmə:
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];
    }
}
  1. Ümumi IEnumerable<T> interfeysinin həyata keçirilməsi:
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();
}
  1. Standart kitabxana kolleksiyalarından istifadə, onlar artıq IEnumerable-i həyata keçirirlər (məsələn, List<T>, Array).

Əsas nöqtə, GetEnumerator() metodunu təmin etməkdir, bu da kolleksiyanın elementləri üzərində keçid üçün enumeratoru qaytarır.