2013-08-19 10 views
36

Attualmente sto lavorando a un progetto VB.net. Sono nuovo a VB.Net LINQ e vorrei conoscere l'equivalente Lambda diCome scrivere un'espressione Lambda VB.Net

var _new = orders.Select(x => x.items > 0); 

in VB.Net.

Qualcuno si prega di suggerire!

+0

http://msdn.microsoft.com/en-us/library/bb531253.aspx – Satpal

+0

https://msdn.microsoft.com/en-us/library/bb384991.aspx?f=255&MSPPError= -2147217396 –

risposta

51

La sintassi lambda non è molto diversa dalla creazione di un delegato regolare.

Se si crea un lambda con valore di ritorno, utilizzare Function. Altrimenti se ne stai creando uno che non funziona, usa Sub.

Dim _new = orders.Select(Function(x) x.Items > 0) 

Dim action As Action(Of Item) = Sub(x) Console.WriteLine(x.Items) 
+0

Sembra diverso da un delegato standard, poiché in questo caso non esiste un'istruzione 'return' e il valore restituito è il valore dell'espressione nel corpo del delegato. –

+0

Avevo sempre pensato che il delegato di VB.net avesse un'istruzione opzionale 'Return'. –

+0

Grazie a @JeffMercado, ho capito. –

Problemi correlati