View Full Version : [.NET Framework 4] mi conviene usarlo? vantaggi/svantaggi?
Mattyfog
29-10-2009, 13:05
Grazie all'utente ^TiGeRShArK^ ho appena fatto caso al fatto che visual studio 2010 integri il framework .net 4. Eh, lo so, sono proprio stupido non ci avevo neppure pensato :p
Io utilizzo le versioni express perchè tanto per quel che faccio sono già fantastiche. Volevo sapere questo, innanzi tutto visto che visual studio 2010 è in fase beta, qualcuno di voi l'ha provato? C'è da dire che comunque lo uso così alla cavolo quindi se anche non funzionasse non mi farei grossi problemi ma se ce ne fossero di particolarmente grandi e voi ne foste a conoscenza vi pregherei di indicarmeli :)
Ma arriviamo alla parte più importante, io non ho mai fatto un passaggio da una versione del framework a un'altra per il semplice fatto che da quando faccio qualcosina (uso il C# perchè il C++ non mi piaceva un granchè :p) ho sempre usato il 3.5 . Se io installassi visual studio 2010 e il .net 4 avrei dei problemi di incompatibilità con i progetti o il codice scritto per il 3.5 funzionerebbe con 4 il senza problemi?
Se vi state chiedendo perchè vorrei passare al 4 è perchè l'utente già sopra citato, ^TiGeRShArK^, mi ha indicato un modo per gestire xml che mi piace assai. E, visto che per il momento non so usare xml così come sono niubbo negli altri campi, perchè studiare sul 3.5 e non sul 4?
Grazie a tutti! :)
Tutto ciò che fai in 3.5 sarà compatibile in 4.0, al massimo importando i progetti in VS 2010, ci penserà VS...
Io personalmente aspetto VS 2010 Final, le Beta non mi piacciono. :mad:
Kralizek
29-10-2009, 14:28
considera che la B2 é dotata di licenza GoLive.
Io sto pensando di usarlo per il server che ospita il motore di ricerca che sto scrivendo. Perché? Perché sto usando la CTP per .NET 3.5 di PLINQ e preferirei usare PLINQ di .NET 4 direttamente al debutto.
Comunque certe volte sento la mancanza di Covariance e Contravariance in .NET 3.5. Quindi decisamente up per .NET 4.
Poter scrivere
Dictionary<int, IEnumerable<string>> dict = new Dictionary<int, List<string>>()
é comodissimo in certe occasioni...
se solo esistesse un equivalente di IEnumerable per i Dictionary (dove per IEnumerable intendo un'interfaccia R-O implementata dalla classe Dictionary<,>.
Che cosa ti manca? Non ho capito.
IDictionary<T,U> implementa IEnumerable<KeyValuePair<T,U>> gia' dalla nascita delle Dictionary.
Kralizek
29-10-2009, 20:52
lo so che implementa IEnumerable<KeyValuePair<T,U>>, ma magari un'interfaccia che espone
U this [T key] { get; }
oltre alla classica IEnumerable<T> non era male :(
non farebbe cosí schifo. giusto per permettere di restituire dictionary read only.
^TiGeRShArK^
29-10-2009, 21:22
col VS2010 ci ho giochicchiato pochino..
comunque da poco è uscita la beta 2 (tra l'altro FINALMENTE con gli strumenti per sharepoint che giustamente ora non mi servono + :muro: ), non dovrebbe essere male. :p
!k-0t1c!
31-10-2009, 11:45
Se puoi fare a meno di add-in quali resharper, VAX etc allora usa VS2010.
Non perdi nulla e guadagni in parallelismo, classi utilissime tipo System.Tuple, performance.
Quanto al discorso di IDictionary trovo anch'io che sia assurdo non avere un'indexer property per accedere agli elementi. Tutto sommato l'accesso rapido ad un elemento data una chiave è proprio quel che distingue un dictionary da una collection di KVP (o ormai di tuples) e se uno non volesse una situazione del genere non esisterebbero particolari ragioni per scegliere IDictionary piuttosto che IEnumerable<Tuple<T,U>> se non una estetica di non annidare i due tipi generici...
Al lavoro stiamo usando VS2010 con Resharper 5.
Quanto al discorso di IDictionary trovo anch'io che sia assurdo non avere un'indexer property per accedere agli elementi.
Ma come, non c'e' la
U this[K key]{get;set;}
nella IDictionary<T,U>
Kralizek
31-10-2009, 19:00
Al lavoro stiamo usando VS2010 con Resharper 5.
Ma come, non c'e' la
U this[K key]{get;set;}
nella IDictionary<T,U>
si ma IDictionary<T,U> ha anche i metodi per modificare la struttura (Add, Clear, etc).
Io cercavo qualcosa per offrire i dati in sola lettura, con la possibilitá di accedervi tramite chiave
si ma IDictionary<T,U> ha anche i metodi per modificare la struttura (Add, Clear, etc).
Io cercavo qualcosa per offrire i dati in sola lettura, con la possibilitá di accedervi tramite chiave
Ma io stavo chiedendo a !k-0t1c! che aveva appena detto non esserci neppure un'indexer property per accedere agli elementi.
Peraltro puoi sempre estendere le Dictionary con un extension method che ti restituisca un ReadOnly Dictionary, la cui implementazione sono poche righe.
Kralizek
31-10-2009, 19:05
Ma io stavo chiedendo a !k-0t1c! che aveva appena detto non esserci neppure un'indexer property per accedere agli elementi.
Peraltro puoi sempre estendere le Dictionary con un extension method che ti restituisca un ReadOnly Dictionary, la cui implementazione sono poche righe.
ovvio che le soluzioni esistono, semplicemente mi aspettavo qualcosa di nativo ;) anche perché esiste l'interfaccia ILookup<T,U> che altro non é che un IEnumerable<T,IEnumerable<U>> con in piú l'indexer...
Diciamo che il supporto a Dictionary potrebbe avere qualche miglioramento (vedi anche serializzazione tramite WCF in JSON)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.