System.Collections

Tramite un consiglio di un amico, a causa della mia attuale mancaza di ispirazione, vi domando:

chi conosce tutte queste classi e quando è corretto usare una piuttosto che un’altra?

System.Collections

System.Collections.Generic 

System.Collections.ObjectModel

System.Collections.Specialized

posted @ mercoledì 24 giugno 2009 00:54

Print

Comments on this entry:

# re: System.Collections

Left by imperugo at 24/06/2009 01:02
Gravatar
Praticamente hai da scrivere post per i prossimo 6 mesi :S

# re: System.Collections

Left by salvatore.difazio@gmail.com at 24/06/2009 01:04
Gravatar
Sei mesi se non avessi nulla da fare come te :D

# re: System.Collections

Left by imperugo at 24/06/2009 01:06
Gravatar
Guarda che anche io sono impeganto!
Mangiare a tempo pieno non è mica una roba da poco :S

# re: System.Collections

Left by raffaeu at 24/06/2009 01:22
Gravatar
Io alla base ti posso dire che se devi creare una custom collection tipizzata del tipo Lista<MiaClasse> ti basta ereditare da List<T> e non devi implementare nulla.
Se invece vuoi fare un qualcosa di piu' customizzato devi invece ereditare da CollectionBase ma poi metodi come Add, Remove e via dicendo vanno implemenati a manina.
Se vuoi qualcosa che si "aggiorni" e comunichi le modifiche tramite eventi puoi usare BindingList<T> o Osservable.
ArrayList per me sa di vecchio e IDictionary serve per avere un contenitore con una coppia chiave valore.
Io uso quest'ultima se devo implementare una logica di tipo parametrica.

# re: System.Collections

Left by marco at 24/06/2009 12:16
Gravatar
usa list<T> e Dictionary<TKey, TValue> e sei a posto per il 99,99% dei casi ;)

# re: System.Collections

Left by Guido at 24/06/2009 12:28
Gravatar
Tutte tutte no...
anche perche' alla fine nel 90% dei casi ti basta una List<> o un Dictionary<,>
pero' ricordo che mi dovetti andare a leggere degli articoli sulle differenze di performance
dei generics rispetto alle vecchie collection... e ricordo che ebbi pure delle sorprese.
ma sono passati mesi, non ricordo piu' un tubo al riguardo :P

Comments have been closed on this topic.