2013-08-19 57 views
36

我现在正在使用VB.net项目。我是VB.Net LINQ的新手,想知道在VB.Net中使用的Lambda相当于如何编写VB.Net Lambda表达式

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

有人请建议!

+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 –

回答

51

lambda语法与创建常规委托没有多大区别。

如果创建一个具有返回值的lambda,请使用Function。否则,如果你正在创建一个没有的,请使用Sub

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

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

它看起来与标准委托不同,因为在这种情况下,没有'return'语句,并且返回的值是委托体中表达式的值。 –

+0

我一直认为VB.net中的委托有一个可选的'Return'语句。 –

+0

谢谢@JeffMercado,我明白了。 –