Sobes.tech
Junior

რა არის IEnumerable C#-ში?

sobes.tech AI

პასუხი AI-სგან

C#-ში IEnumerable არის ინტერფეისი, რომელიც განსაზღვრულია System.Collections სივრცეში. იგი უზრუნველყოფს საერთო გზას კოლექციის ელემენტების გადათვლისთვის (ინტერაცია):

IEnumerable-ის ძირითადი მახასიათებლები:

  • ინტერატორის საშუალებით წვდომა: განსაზღვრავს GetEnumerator() მეთოდს, რომელიც აბრუნებს IEnumerator ინტერფეისს ახორციელებელს. IEnumerator საშუალებას აძლევს თანმიმდევრულად გადასვლას კოლექციის ერთ ელემენტიდან მეორეზე:
  • მხოლოდ წაკითხვა: IEnumerable საშუალებას აძლევს მხოლოდ ელემენტების გადათვლას. იგი არ უზრუნველყოფს მეთოდებს ელემენტების დამატებისა, წაშლის ან ცვლილებისთვის:
  • სავარაუდო ჩატვირთვა: IEnumerable-ის გამოყენება ხშირად იწვევს ნელი ჩატვირთვას. ელემენტები გენერირდება ან იტვირთება მხოლოდ საჭიროების შემთხვევაში გადათვლის დროს:
  • LINQ-ის საფუძველი: IEnumerable არის საფუძველი მრავალი LINQ ოპერაციისთვის. LINQ-ის გაფართოების მეთოდები (Where, Select, OrderBy) მუშაობენ IEnumerable-ს ახორციელებლებთან, საშუალებას აძლევს შექმნას ოპერაციების ჯაჭვი:

გამოყენების მაგალითი:

// ტექსტების სია შევქმნათ
List<string> ხილიები = new List<string> { "ვაშლი", "ბანანი", "ჩერი" };

// `IEnumerable`-თან ერთად foreach-ის გამოყენებით ელემენტების გადათვლა
foreach (string ხილი in ხილიები)
{
    // თითოეული ხილის გამოტანა
    Console.WriteLine(ხილი);
}

შეერთებული ინტერფეისები:

ინტერფეისი აღწერა
IEnumerable უზრუნველყოფს ელემენტების გადათვლას კოლექციაში
IEnumerable<T> IEnumerable-ის გენერიკი ვერსია, სტრიქონული ტიპის კოლექციებისთვის
ICollection ფართოვდება IEnumerable, დამატება/წაშლის მეთოდებს აძლევს (არასაერთო)
ICollection<T> ICollection-ის გენერიკი ვერსია
IList<T> ფართოვდება ICollection<T>, დამატება ელემენტებზე ინდექსით