零点起飞学C#之Lambda表达式和查询表达式.pptxVIP

零点起飞学C#之Lambda表达式和查询表达式.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
零点起飞学C#之Lambda表达式和查询表达式.pptx

第18章 Lambda表达式和查询表达式Lambda表达式是创建匿名函数的另一种形式,它比对应的匿名方法更加简化,因此几乎在所有的情况中都推荐使用Lambda表达式。查询表达式是一种使用查询语法表示的表达式,它可以从一个或多个给定的数据源中检索数据,并制定检索结果的表现形式。本章给大家详细讲解C#语言中的Lambda表达式和查询表达式。18.1 使用Lambda表达式Lambda表达式也是一种匿名函数(anonymous function),比匿名方法具有更加简洁的表示形式。它可以包含表达式和语句,并且适用于创建委托和事件。Lambda表达式由输入参数、Lambda运算符和表达式(或语句块)构成。它的语法形式如下。(input parameters) = empression;input parameters表示输入参数,它是可选的;“=”为Lambda运算符(读作goes to);empression表示表达式或语句块。【示例18-1】下面创建一个Lambda表达式。m = m * m; //创建Lambda表达式分析:“m = m * m;”Lambda表达式计算给定值(输入参数m)的平方,并返回计算结果。【示例18-2】下面创建一个Lambda表达式,并获取该表达式的值。int n = (int m) = m * m; //创建一个Lambda表达式,并获取该表达式的值分析:“(int m) = m * m;”Lambda表达式计算给定值(输入参数m)的平方,并返回计算结果。结果将保存为n变量。18.1.1 输入参数在Lambda表达式中,输入参数是Lambda运算符的左边部分。它包含参数的数量可以为0、1或者多个。只有当输入参数为1时,Lambda表达式左边的一对小括弧才可以省略。输入参数的数量大于或等于2时,Lambda表达式左边的一对小括弧中的多个参数之间使用逗号(,)分隔。【示例18-3】下面创建一个Lambda表达式,它的输入参数的数量为0。该表达式将显示“This is a Lambda empression.”字符串。() = Console.WritleLine(This is a Lambda empression.); //Lambda表达式参数量为0分析:由于上述Lambda表达式的输入参数的数量为0,因此,该Lambda表达式的左边部分的一对小括弧不能被省略。【示例18-4】下面创建一个Lambda表达式,它的输入参数包含一个参数:m。该表达式将计算m参数与2的乘积。m = m * 2; // Lambda表达式包含一个参数分析:上述Lambda表达式的输入参数省略了一对小括弧,它与“(m) = m * 2;”Lambda表达式是等效的。【示例18-5】下面创建一个Lambda表达式,它的输入参数包含两个参数:m和n。该表达式将计算m和n参数的乘积。(m,n) = m * n; //创建两个参数的Lambda表达式18.1.2 表达式或语句块多个Lambda表达式可以构成Lambda语句块。语句块可以放到运算符的右边,作为Lambda的主体。根据主体不同,Lambda表达式可以分为表达式Lambda和语句Lambda。语句块中可以包含多条语句,并且可以包括循环、方法调用和if语句等。【示例18-6】下面创建一个Lambda表达式,它的右边部分是一个表达式。该表达式计算m参数的平方值。m = m * m; //创建Lambda表达式如果Lambda表达式的右边部分是一个语句块,那么该语句块必须被“{”和“}”包围。【示例18-7】下面创建一个Lambda表达式,它的输入参数包括两个参数:m和n。该表达式的右边包含2个表达式:第一个表达式计算m和n参数的乘积,结果保存为result变量;第二个表达式显示result变量的值。(m,n) = {int result = m * n; Console.WritleLine(result);} //Lambda表达式右侧为语句块分析:上述Lambda表达式的右边部分包含2个表达式,因此,该表达式的右边部分必须被“{”和“}”包围。18.2 查询表达式查询表达式是一种使用查询语法表示的表达式,它用于查询和转换来自任意支持LINQ的数据源中的数据。查询表达式使用许多常见的C#语言构造,易读简洁,容易掌握。它由一组类似于SQL或XQuery的声明性语法编写的子句组成。每一个子句可以包含一个或多个C#表达式,这些C#表达式本身也可能是查询表达式或包含查询表达式。查询表达式必须以from子句开头,以select或group子句结束。在第一个from子句和最后一个select子句或group子句之间,可以包含一个或多个where子句、let子句、join子句

文档评论(0)

jackzjh + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档