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>, დამატება ელემენტებზე ინდექსით |