Sobes.tech
Junior

Τι είναι το IEnumerable στη C#;

sobes.tech AI

Απάντηση από AI

IEnumerable στην C# είναι μια διεπαφή που ορίζεται στον χώρο ονομάτων System.Collections. Παρέχει έναν γενικό τρόπο περιήγησης (επαναφοράς) των στοιχείων μιας συλλογής.

Κύρια χαρακτηριστικά του IEnumerable:

  • Πρόσβαση μέσω επαναλήπτη: Ορίζει τη μέθοδο GetEnumerator(), η οποία επιστρέφει ένα αντικείμενο που υλοποιεί τη διεπαφή IEnumerator. Το IEnumerator επιτρέπει την προοδευτική μετάβαση από ένα στοιχείο της συλλογής στο επόμενο.
  • Μόνο ανάγνωση: Το IEnumerable επιτρέπει μόνο την περιήγηση στα στοιχεία. Δεν παρέχει μεθόδους για προσθήκη, διαγραφή ή τροποποίηση των στοιχείων της συλλογής.
  • Αργή φόρτωση: Η χρήση του IEnumerable οδηγεί συχνά σε αργή φόρτωση. Τα στοιχεία παράγονται ή φορτώνονται μόνο όταν χρειάζεται κατά τη διάρκεια της επανάληψης.
  • Βάση του LINQ: Το IEnumerable αποτελεί θεμελιώδη διεπαφή για πολλές λειτουργίες LINQ. Οι μέθοδοι επέκτασης LINQ (όπως Where, Select, OrderBy) λειτουργούν με συλλογές που υλοποιούν το IEnumerable, επιτρέποντας τη δημιουργία αλυσίδων λειτουργιών.

Παράδειγμα χρήσης:

// Δημιουργία λίστας συμβολοσειρών
List<string> φρούτα = new List<string> { "μήλο", "μπανάνα", "κεράσι" };

// Περιήγηση στα στοιχεία της λίστας με foreach, που λειτουργεί με IEnumerable
foreach (string φρούτο in φρούτα)
{
    // Εκτύπωση κάθε φρούτου
    Console.WriteLine(φρούτο);
}

Σχετικές διεπαφές:

Διεπαφή Περιγραφή
IEnumerable Παρέχει την επανάληψη των στοιχείων μιας συλλογής
IEnumerable<T> Γενική έκδοση του IEnumerable για τυποποιημένες συλλογές
ICollection Επεκτείνει το IEnumerable, προσθέτει μεθόδους για το μέγεθος, την προσθήκη/διαγραφή στοιχείων (όχι καθολική)
ICollection<T> Γενική έκδοση του ICollection
IList<T> Επεκτείνει το ICollection<T>, προσθέτει πρόσβαση στα στοιχεία μέσω δείκτη