System.Collections: Generic.IList<T>

 

Rappresenta una lista di oggetti accessibile tramite un indice.

Implementazioni:

ICollection<T>
IEnumerable<T>
IEnumerable

Osservazioni:

Implementa l’interfaccia generica ICollection<T>.

Thread Safety:

 

System.Collections: Generic.ICollection<T>

 

Definisce i metodi per manipola le collezioni generiche.

Implementazioni:

IEnumerable<T>
IEnumerable

Osservazioni:

La versione non generica ICollection definisce dimensioni, enumeratore e i metodi di sincronizzazione.
Le interfacce quali IDictionary<TKey, TValue> e IList<T> sono interfacce specializzate che implementano ICollection<T> e poi le rispettive classi
ne implementano la logica.
Mentre le classi come Queue<T> e Stack<T> implementano direttamente la ICollection<T>.

Thread Safety:

 

System.Collections: Generic.IEnumerable<T>

 

Espone l’enumeratore che supporta un semplice iteratore su una collezione del tipo specificato.

Implementazioni:

 

Osservazioni:

Il metodo che verrà chiesto di implementare è GetEnumerator il quale ritornerà l’enumeratore implementato.

Thread Safety:

System.Collections: Generic.IEnumerator<T>

 

Supporta un semplicissimo iteratore della collezione generica.
E’ l’interfaccia base per tutti gli enumeratori generici.

Implementazioni:

IEnumerator
IDisposable

Osservazioni:

Implementare questa interfaccia richiede l’implementazione della IEnumerator.
Ciò significa implementare i metodi MoveNext e Reset che non dipendono dal tipo dell’oggetto.
La proprietà Current è presente in entrambe le interfacce, generica e non.

Thread Safety:

Di default le collection implementate nel namespace System.Collections.Generic non sono sincronizzate.