Sobes.tech
Junior — Middle

Milyen különbség van a különböző gyűjteményes felületek típusai között?

sobes.tech MI

Válasz az MI-től

C#-ban a gyűjtemény interfészek különböző szerződéseket határoznak meg az adathalmazok kezelésére, és különbségük a funkcionalitásban és a célban rejlik:

  • IEnumerable<T> — alapértelmezett interfész a gyűjtemény bejárásához foreach segítségével. Csak az elemek egyesével olvasását teszi lehetővé.
  • ICollection<T> — kiterjeszti az IEnumerable<T>-t, módszereket ad hozzá a gyűjtemény módosításához (Add, Remove), a Count és IsReadOnly tulajdonságokat.
  • IList<T> — kiterjeszti az ICollection<T>-t, indexelőt ad hozzá az index szerinti hozzáféréshez, beszúrási és törlési módszereket index alapján.
  • IDictionary<TKey, TValue> — kulcs-érték párok gyűjteményét képviseli, ahol az elemekhez a kulcs segítségével férhetünk hozzá.

Így a felhasznált interfész kiválasztása a szükséges műveletektől függ: ha csak iterálni kell — IEnumerable<T>, ha módosítás és számlálás szükséges — ICollection<T>, ha index szerinti hozzáférés — IList<T>, ha kulcsokkal dolgozunk — IDictionary<TKey, TValue>.