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ı:
- Ə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];
}
}
- Ü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();
}
- 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.