Manage a group of associated data using collections (System.Collections namespace)
Classi: Le classi non fanno che implementare le interfacce.:
ArrayList, implementa: IList, ICollection, IEnumerable, ICloneable
Hashtable: implementa IDictionary, ICollection, IEnumerable, ICloneable .. e qualche altra interfaccia non di liste per la serializzazione e deserializzazione;
CollectionBase: è una classe astratta per collezioni fortemente tipizzate. Implementa IList, ICollection, IEnumerable.
Per usarla si deve creare una propria classe derivando da quella..
ReadOnlyCollectionBase: è una classe astratta per una collezione che, dopo la fase di creazione, diventa read-only
DictionaryBase: è la classe astratta per un dizionario: insieme di coppie chiave-valore.
DictionaryEntry: è la classe per definire la coppia chiave – valore.
Queue: è una lista tradizionale (FIFO), implementa ICollection, IEnumerable, Icloneable.
SortedList: è una sorta di dizionario ordinato per chiave, accessibile sia per chiave che per indice. Implementa: ICollection, IEnumerable, ICloneable
BitArray: gestisce in modo compatto un array di bit. Implementa ICollection, IEnumerable, ICloneable.
Stack: è la classica lista LIFO. Implementa: ICollection, IEnumerable, ICloneable
Comparer: serve per paragonare due oggetti, il costruttore puo’ prende la cultura come parametro. C’e’ anche una bella classe CaseInsensitiveComparer bello per paragonare le stringhe