Da qualche giorno sto “smanettando” con la release candidate di .net framework 4 e devo dire che le novità sono veramente tante, molte delle quali rivolte a migliorare le performance.

In tal senso il nuovo framework fornisce agli sviluppatori alcuni strumenti utili per rendere le applicazioni più veloci e parsimoniose nell’uso della memoria, un esempio è la Lazy Initialization che permette di non allocare gli oggetti fino a quando non è necessario. Per fare questo nella libreria è stata introdotta una nuova classe generica Lazy<T>

Ad esempio:

Lazy<Products> products = new Lazy<Products>(  () => new Products(10)  );  // questa collezione di prodotti verrà popolata al primo accesso, usando la funzione () => new Products(10) come funzione per inizializzare

Products =  products.Value; // primo accesso alla collezione