Altra novità di visual basic 9.0 sono le Lambda Expression.
Ovvero la possibilità di creare delle funzioni come espressioni create al volo oppure da utilizzare nei delegate senza doverli dichiarare esplicitamente.
La sintassi per definire una Lambda Expression utilizza la parola chiave Function. Vediamo un esempio :
Dim LenNome = Function(s As String) s.Length()
Console.WriteLine(LenNome("Alessio"))
Mi verrà visualizzato 7, la lunghezza della stringa "Alessio"
Possiamo notare che la tipologia della variabile LenNome è stato dedotto implicitamente(Option Infer On). Inoltre il corpo deve essere sempre un'espressione, non è dunque possibile richiamare altri metodi. Esiste comunque un nuovo operatore IF() (simile alla funzione IIF() del vb6) che permette costrutti più complessi. Altra restrizione l'utilizzo di parametri Optional,ParamArray e generici non sono ammessi.
Lascio a voi uno studio più approfondito, magari nell'utilizzo con i delegate.
Le lambda Expression non solo ci permettono codice più sintetico e veloce ma sono di fondamentale importanza in LINQ.
Stay Tuned!