在linq的上下文中理解Lambda-Expression

时间:2013-09-06 08:27:54

标签: vb.net linq lambda

如果我有表达式:

from p In Product Select p.Name

我知道p是产品元素。

如果我有:

Dim allProducts = Products.Select(Function(p) p.Name)

我的问题是我在这里怎么说p是产品元素?

1 个答案:

答案 0 :(得分:2)

因为VB.NET编译器使用Type inference

由于这一点,通过首先分析Function(p) p.Name的签名来发现匿名方法.Select()的参数类型和返回值(以发现{{1}的类型}}然后是p的类型(以发现返回值类型)

来自Basic Instincts: Lambda Expressions

  

强大的类型推理机制的引入意味着您不必担心找出每个变量的类型。

依旧......这很长。