Descrivere le novità di C# 3.0 in un post mi risulta estremamente difficile, malgrado Hejlsberg sia stato estrememente chiaro, il mio cervello non ha retto l’impatto delle Lambda Expressions e si è definitivamente arreso di fronte all’armata delle Expression Trees.
La cosa che posso dire è che a C# sono state aggiunte tutte quelle parti che la nascita di DLinq richiedeva, ad esempio gli Extension Method sono proprio usati da DLinq per aggiungere dinamicamente a IEnumerable<T> le funzionalità di Select,Where…
Anche se a prima vista banale la possibilità di scrivere:
var x=1;
e avere var automaticamente dichiarata come int (il tipo viene dedotto da quello che sta alla destra del segno uguale) rende in un certo modo C# un linguaggio scripting senza perdere il grande vantaggio di essere comunque strongly typed.
Per quelli che vogliono saperne di più le specifiche sono
qui