Lambda语句的嵌套
// 获取所有长度最短的名字(注意:可能有多个)
string[] names = { "Tom", "Dick", "Harry", "Mary", "Jay" };
IEnumerable<string> outQuery = names
.Where(
n => n.Length == names.OrderBy(n2 => n2.Length).Select(n2 => n2.Length).First()
);
//注意,上面的==两端分别是两个长度int类型表达式,右端的orderby子句输出仍是names原型,只不过顺序变为升序了;再select是在此升序结果上取所有names成员的长度,这里转换了序列的类型由string变成了int,最后first取出最小的一个长度。
如果用Min方法,上面可简写为:
IEnumerable<string> outQuery = names
.Where(
n => n.Length == names.Min(n2=>n2.Length)
//注意:Min不同于Math中的Min函数,它也只能用lambda表达式做参数,且n2不能与重复用n,因为它们在同一级别相同。甚至在Min的表达式中还可用到n,如names.Min(n2=>n2.Length+n.Length),在这里只看语法,没有具有意义
);
Lambda语句的嵌套的更多相关文章
- Mysql update语句赋值嵌套与在表列中数据后面增加数据
1.Mysql update语句赋值嵌套select 点击(此处)折叠或打开 update a set col=(select col from a where id='5') where id&g ...
- (折扣计算)需求说明:普通顾客购物满100元打9折;会员购物打8折;会员购物满200元打7.5折(判断语句if-else和switch语句的嵌套结
package com.summer.cn; import java.util.Scanner; /** * @author Summer *折扣计算 需求说明:普通顾客购物满100元打9折:会员购物 ...
- if语句的嵌套以及条件运算符和条件表达式(初学者)
1.当if语句中的执行语句又是if语句时,则构成了if语句的嵌套情形. 其一般形式可表示为: if() { if()……; } 或: if() if()语句1: else 语句2: else if() ...
- Java知多少(48)try语句的嵌套
Try语句可以被嵌套.也就是说,一个try语句可以在另一个try块内部.每次进入try语句,异常的前后关系都会被推入堆栈.如果一个内部的try语句不含特殊异常的catch处理程序,堆栈将弹出,下一个t ...
- JavaScript条件语句-5--if语句的嵌套
JavaScript条件语句 学习目标 1.掌握length属性的应用 2.掌握if语句的嵌套 length 语法:string.length 功能:获取string字符串的长度 返回值:number ...
- 六. 异常处理6.try语句的嵌套
Try语句可以被嵌套.也就是说,一个try语句可以在另一个try块内部.每次进入try语句,异常的前后关系都会被推入堆栈.如果一个内部的try语句不含特殊异常的catch处理程序,堆栈将弹出,下一个t ...
- C#3.0之神奇的Lambda表达式和Lambda语句
“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型.所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to” ...
- Python笔记_第一篇_面向过程_第一部分_6.语句的嵌套
学完条件控制语句和循环控制语句后,在这里就会把“语言”的精妙之处进行讲解,也就是语句的嵌套.我们在看别人代码的时候总会对一些算法拍案叫绝,里面包含精妙和精密的逻辑分析.语句的嵌套也就是在循环体内可以嵌 ...
- 慕课网-安卓工程师初养成-4-4 Java条件语句之嵌套 if
来源:http://www.imooc.com/code/1356 嵌套 if 语句,只有当外层 if 的条件成立时,才会判断内层 if 的条件.例如,活动计划的安排,如果今天是工作日,则去上班,如果 ...
随机推荐
- 最大流EK算法/DINIC算法学习
之前一直觉得很难,没学过网络流,毕竟是基础知识现在重新来看. 定义一下网络流问题,就是在一幅有向图中,每条边有两个属性,一个是cap表示容量,一个是flow 表示流过的流量.我们要求解的问题就是从S点 ...
- 010-对象——构造方法__construct析构方法__destruct使用方法 PHP重写与重载
<?php /*抽象方法和抽象类 抽象类必须通过子类继承之后,才能实现实例化. 类中有抽象方法,必须声明抽象类. 如果是抽象类,可以没有抽象方法,但必须通过子类去继承之后,实现实例化 final ...
- SpringMVC中WebDataBinder的应用及原理
Controller方法的参数类型可以是基本类型,也可以是封装后的普通Java类型.若这个普通Java类型没有声明任何注解,则意味着它的每一个属性都需要到Request中去查找对应的请求参数.众所周 ...
- [置顶]
Xposed也要热更新
好久没写博客了.这次玩一点不一样的. 吐槽&起因 相信熟悉Xposed的小伙伴们都知道,每次写完Xposed都要重启啊!有木有!反射错了,写错了名字,改一个log,都要重启啊有木有!重启浪费时 ...
- mac root
我在mac下,用su登录root用户 但是提醒 su:Sorry 然后按照网上的方法弄了好多次,都没成功,说是要修改/etc/group 文件中,wheel后添加自己的用户名,用逗号分隔多个用户, ...
- 自己如何获取ADO连接字符串
自己如何获取ADO连接字符串 摘自:http://blog.csdn.net/zyq5945/article/details/5586423 有时候我们参考网上的ADO连接字符串写未必就能连接上数据库 ...
- [转载] FFMPEG之AVRational TimeBase成员理解
FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的 typedef struct AVRational{ int num; /// ...
- make命令和makefile文件
make命令和makefile文件的结合提供了一个在项目管理领域十分强大的工具,它不仅常被用于控制源代码的编译,而且还用于手册页的编写以及将应用程序安装到目标目录. makefile文件由一组依赖关系 ...
- Vue脚手架搭建过程
1.使用npm全局安装vue-cli(前提是你已经安装了nodejs,否则你连npm都用不了),在cmd中输入一下命令 npm install --global vue-cli 安装完成后,创建自己的 ...
- PowerDesigner导出word表结构
一.wordTemplate.rtp下载 首先下载wordTemplate.rtp,将该文件放在一下路径下 C:\Program Files (x86)\Sybase\PowerDesigner 16 ...