本书翻译目的为个人学习和知识共享,其版权属原作者所有,如有侵权,请告知本人,本人将立即对发帖采取处理。
允许转载,但转载时请注明本版权声明信息,禁止用于商业用途!

博客园:韩现龙


Introducing to Microsoft LINQ目录
本节内容比较少。浏览一下即可了。

 

C#3.0中有一些在VB9中没有的属性,即yield关键字和匿名方法(anonymous methods)。即便在许多情况下,用这些特性在使用LINQ来写代码时都是非常常见的,这两个特性对于支持LINQ都不是必须的。

 

yield关键字(The yield Keyword)

 

Visual Basic9.0中没有和C#2.0中的yield关键字相匹配的特性。在VB9中你可以通过用使用迭代器模式来实现迭代器。记住,yield关键字不需要CLR的支持。它由生成迭代器的编译器提供支持。

更多信息   关于closures的更多信息,请参见前几章中的"Closures"章节。

 

匿名方法(Anonymous Methods)

在VB9中,匿名方法并不是独立存在的特性,但是有时lambda表达式可以作为它的一个替代品。lambda表达式的closures是通过这种方式生成,它和C#编辑器的匿名方法相类似。然而,在任何情况下lambda表达式都是不能取代匿名方法的。

 

本章小结

在本章中,我们分四节讲述了VB9.0中的一些重要的特性。第一个是在C#2.0中已经提供的可空类型。第二节讲的是和C#3.0中相匹配的特性:本地类型推断(local type inference),扩展方法(extension methods),对象初始化表达式(object initializeation expressions),匿名方法(anonymous types),查询表达式(query expressions),lambda表达式(lambda expressions)和closures.第三部分讲述了仅在VB9中才有的特性:XML文本,XML延迟绑定和宽松代理。最后,我们在最后一部分中讲述了仅在C#3.0中存在而在VB9中不存在的特性:yield关键字和匿名方法。下一章中我们将学习LINQ语法的基础。

posted on 2008-03-23 17:41  是谁啊?  阅读(1895)  评论(3编辑  收藏  举报