第二章[Linq介绍和查询表达式].ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章[Linq介绍和查询表达式].ppt

Chapter 第二章 Linq介绍和查询表达式 课前回顾 请说出三条以上 C# 3.0 的新特性 请说出扩展方法定义的语法格式 使用 var 和 object 声明变量有什么区别? 本章目标 掌握 LINQ 中的基本概念 掌握 LINQ 的组成 理解委托和匿名方法 理解 Lambda 表达式 掌握基本查询方法 Select() Where() OrderBy() GroupBy() 本章任务 编写 LINQBasic 程序 使用Lambda表达式查询数组 使用委托和匿名方法操作字符串 LINQ要解决的问题 长期以来,开发社区形成以下格局: 面向对象与数据访问两个领域长期分裂,各自为政 编程语言中的数据类型与数据库中的数据类型形成两套体系。例如: C# 中字符串用 string 表示 SQL 中字符串用 NVarchar/Varchar/Char 表示 SQL 编码体验落后 没有智能感应 没有严格意义上的强类型和类型检查 SQL 和 XML 都有各自的查询语言,而对象没有自己的查询语言 LINQ 的历史 最初由 Anders Hejlsberg 构思,最初的研究计划称为 Cω 2005年9月 – 第一个为 C# 2.0 开发的技术预览版在当年的 PDC(微软开发者大会)上发布 2005年11月 – 更新至社区预览版(C# 2.0) 2006年1月 – 第一个为 VB 8.0 开发的技术预览版发布 2007年11月19日 – LINQ作为 .NET Framework 3.5 的一部分正式发布 LINQ是什么 LINQ( Language Integrated Query )即语言集成查询 LINQ 是一组语言特性和API,使得你可以使用统一的方式编写各种查询。查询的对象包括XML、对象集合、SQL Server 数据库等等。 LINQ 主要包含以下三部分: LINQ to Objects 主要负责对象的查询 LINQ to XML 主要负责 XML 的查询 LINQ to ADO.NET 主要负责数据库的查询 LINQ to SQL LINQ to DataSet LINQ to Entities LINQ 的组成 LINQ 初体验 在没有LINQ以前,我们这样查询: LINQ 初体验 今天,我们有了LINQ! 我们这样查询: 代码分析 Lambda 表达式的进化 委托 委托的定义: 本章小结 委托可以看作是托管版本的函数指针 委托只对方法的原型(签名)进行约束 委托可以方便我们在程序运行时动态决定对象的行为 匿名方法 Lambda 表达式 Lambda表达式语法 最基本的 Lambda 表达式语法如下: Lambda表达式的简写方式 如果参数列表只包含一个推断类型参数时 Lambda表达式的简写方式 如果方法体只包含一条语句时 Lambda表达式的更多例子 Lambda与匿名方法的关系 总体上说,匿名方法可以看作是Lambda 表达式的功能子集,但是两者存在以下区别: Lambda 表达式的参数允许不指明参数类型,而匿名方法的参数必须明确指明参数类型 Lambda 表达式的方法体允许由单一表达式或者多条语句组成,而匿名方法不允许单一表达式形式 基本查询操作符-获取数据(投影操作) Select() Select() 例子 基本查询操作符-过滤数据(筛选操作) Where() Where() 例子 基本查询操作符-排序数据(排序操作) OrderBy() OrderBy() 例子 基本查询操作符-分组数据 GroupBy() GroupBy() 例子 LINQ 的更多资源 官方网站 /zh-cn/netframework/aa904594(en-us).aspx Hooked On LINQ / 本章总结 LINQ 技术主要有哪几部分组成? 以下Lambda表达式表示什么意思? 本章所学的 Select Where OrderBy GroupBy 方法是作用于哪个类型的扩展方法? 本章作业 理论作业 XXXXXXXXX 上机作业 XXXXXXXXXXXXXXXXX 反复强调 = 左边是参数列表 右边是方法体 = 在英文中念做 goes to 中文的官方译名还不清楚,如果有学员对此感到困惑,不妨念做 “去到” 呵呵 ---编者 In general, the specification of anonymous methods, provided in §21 of the C# 2.0 Specification, also applies to lambda expressions. Lambda expressions are a functional super

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档