改进VB的Lambda表达式

匿名函数哪一点最令VB开发者感到挫折还真不好说。排名不分先后:

没有办法创建匿名子程序(subroutine),也就是不能返回值的函数。这意味着VB开发者无法直接使用任何要求Action(Of T)的方法,比如IEnumerable.ForEach。

下一个是缺乏多行匿名函数。现在这个问题还只是令人不舒服,但在不久的将来会成为决定性的缺陷。使用Parallel FX库所需的若干编码模式,包括很有前途的Parallel.For循环,全都要求使用多行匿名函数。

最后是语法。当你不得不在一行里写好几个匿名函数的时候,那语法简直是笨拙到家了。

前两个问题已经有了解决方案。虽然Paul Vick不能打保票,但下一版VB几乎肯定会支持匿名子程序和多行匿名函数。

至于语法,谁也说不准。C#从2.0进化到3.0的时候就改过语法,所以如果VB采取同样的做法也不是没道理。只不过现在还没有显而易见的候选语法,而且VB传统上会通过IDE的增强来解决这类问题。

查看英文原文: Lambda Expression Improvements for VB

你可能感兴趣的:(改进VB的Lambda表达式)