改进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的增强来解决这类问题。

(文/Jonathan Allen  译/郭晓刚 出处/http://www.infoq.com/cn/news/2008/07/VB-Lambda)

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Visual Studio.NET] 的这些文章也感兴趣:

另一种眼光看VB中的匿名类型
VS2008 椭圆曲线签名(ECDSA)
Visual Studio 2008 对jQuery实现智能感知提示
SCSF 系列:Smart Client Software Factory 中的 MVP 模式概述
.NET1.1中预编译ASP.NET页面实现原理浅析[1]自动预编译机制浅析
使用Visual Studio 2010从分析到实施(1)——安装Visual Studio 2010 CTP2
Visual Studio 2008 Service Pack 1 - BETA Edition发布下载
PartCover: New Open Source Code Coverage Tool
Castle项目1.0 RC3发布
.NET泛型中的协变与逆变