Sobes.tech
Junior — Middle

Ποια είναι η διαφορά μεταξύ της διεπαφής IList και της συλλογής τύπου List σε C#;

sobes.tech AI

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

IList<T> είναι μια διεπαφή που ορίζει ένα σύνολο μεθόδων και ιδιοτήτων για εργασία με μια συλλογή που υποστηρίζει την ευρετηρίαση, την προσθήκη, τη διαγραφή στοιχείων κ.λπ. Ορίζει μια συμφωνία που μπορούν να υλοποιήσουν διαφορετικές κλάσεις συλλογών.

List<T> είναι μια συγκεκριμένη υλοποίηση της διεπαφής IList<T>, που παρέχει μια δυναμική λίστα με γρήγορη πρόσβαση μέσω δείκτη, καθώς και τη δυνατότητα προσθήκης και διαγραφής στοιχείων.

Βασικές διαφορές:

  • Το IList<T> είναι μια αφαιρετική έννοια που επιτρέπει τη συγγραφή κώδικα ανεξάρτητα από την υλοποίηση της συλλογής.
  • Το List<T> είναι μια συγκεκριμένη κλάση με υλοποίηση που μπορεί να χρησιμοποιηθεί άμεσα.

Παράδειγμα:

IList<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
Console.WriteLine(numbers[0]); // 1

Εδώ, η μεταβλητή δηλώνεται ως IList<int>, προσφέροντας ευελιξία στην αλλαγή της υλοποίησης χωρίς να αλλάξει ο υπόλοιπος κώδικας.