• 微软免费图书《Introducing Microsoft LINQ》翻译Chapter3.4,3.5和Visual Basic9.0无关的C#3.0的属性,本章小结


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

    博客园:韩现龙


    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语法的基础。

    点个广告:
  • 相关阅读:
    自学入门 Python 优质中文资源索引
    Crawlab Lite 正式发布,更轻量的爬虫管理平台
    一款被大厂选用的 Hexo 博客主题
    源码解读 Golang 的 sync.Map 实现原理
    探究 Go 语言 defer 语句的三种机制
    一道快速考察 Python 基础的面试题
    编写自己的 GitHub Action,体验自动化部署
    Python 2 与 3 共存了 11 年,新年就要和它道别
    30 年前的圣诞节,Python 序章被谱写
    文言文编程火了,可我完全学不懂
  • 原文地址:https://www.cnblogs.com/hanxianlong/p/1118611.html
Copyright © 2020-2023  润新知