本书翻译目的为个人学习和知识共享,其版权属原作者所有,如有侵权,请告知本人,本人将立即对发帖采取处理。
允许转载,但转载时请注明本版权声明信息,禁止用于商业用途!
博客园:韩现龙
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语法的基础。