LINQ(三) ——查询表达式/into关键字/let关键字

总目录
C# 语法总目录

上一篇:LINQ(二) —— 流式语句

LINQ 三 ——查询表达式/into关键字/let关键字

2.查询表达式

  • 延迟执行特性:查询语句构造完成后, 并不会立即执行,而是等到foreach里面才执行,在这执行之前,如果新增了元素,那么元素在foreach里也或生效。
  • 临时使用外部变量:当foreach前改变lambda表达式里面的外部变量值,那么构造的语句也会根据外部变量改变而改变
//延迟执行特性
List<int> list = new List<int> { 1 };
IEnumerable<int> intEnu = list.Select(n => n * 10);
list.Add(2);
foreach (var item in intEnu)
{
    Console.WriteLine(item);
}
//10
//20
//临时修改外部变量
List<int> list = new List<int> { 1,2};
int mul = 10;
IEnumerable<int> intEnu = list.Select(n => n * mul);
foreach (var item in intEnu)
{
    Console.WriteLine(item);
}
Console.WriteLine("-----------------");
//临时修改外部变量
mul = 100;
foreach (var item in intEnu)
{
    Console.WriteLine(item);
}
//10
//20
//-----------------
//100
//200

3. 子查询

就是把一个LINQ作为另一个LINQ的输入

4. into 关键字

使用into关键字,将原始查询重命名,其他都是一样的,性能也不变。

另外,into关键字只能在Select和Group后面添加。

string[] names = { "Tom", "Jerry", "kate", "Lucy", "Micky" };

IEnumerable<string> strName =
    from n in names
    where names.Length > 3
    select n.Replace('y', 'Y')
    into na
    where na.Length > 3
    select na;

foreach (var item in strName)
{
    Console.WriteLine(item);
}
//JerrY
//kate
//LucY
//MickY

5. let 关键字

let关键字作用是,能够在LINQ中使用一个临时变量来储存临时结果,然后对这个临时结果进行处理。

string[] names = { "Tom", "Jerry", "kate", "Lucy", "Micky", "li", "zh" };
var query =
    from n in names
    let temp = n.Replace('y', 'Y')
    where temp.Length > 2
    orderby temp descending
    select temp;

foreach (var item in query)
{
    Console.WriteLine(item);
}
//输出
Tom
MickY
LucY
kate
JerrY

总目录
C# 语法总目录

上一篇:LINQ(二) —— 流式语句

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
清晰完整PDF版本,是我从网上买来的 共 150MB,分为13个分卷 在 CSDN 上只有我整个是清晰完整的 LINQ 入门及应用 .NET 2010 SQL LINQ入门及应用 1/13 原价:48.00元 作者:王的强,张晓娜,周静 编著 出版社:清华大学 出版日期:2009-5-1 ISBN:9787302200253 字数:661000 页码:427 -------------------------------------------------------------------------------- 本书介绍微软最前沿的数据查询编程技术,内容由160个知识点实例加5个综合应用案例组成,光盘中提供了涉及到的全部示例源程序项目,对于将要从事正规商业开发的人员有很强的示范性和指导作用。 内容提要 -------------------------------------------------------------------------------- 本书系统、全面地介绍了微软最新推出的LINQ数据开发技术。   本书采取以实践为主、以理论为辅的方法,首先对C#新改进的一些语法做了详细的剖析,让读者领会C#语法的新特点,为后面的学习打下基础,然后对LINQ各个子句和组件进行了实例讲解,通过一个个生动的示例,带领读者由浅入深、系统地学习和掌握LINQ技术。   本书对开发步骤的详细介绍,有助于读者更好地掌握Microsoft Visual Studio 2008开发环境。各个章节中的综合实例,除了充分演示LINQ技术外,还努力引导读者适应面向对象的开发方式。   配书光盘中提供了书中所有的源程序(均为VS2008应用项目),全部项目均经过严格的测试并通过。   本书可供相关技术研究人员、广大.NET应用程序开发人员和用户参考,也可作为高等院校计算机、电子商务以及信息类专业的教材。 目录 -------------------------------------------------------------------------------- 第1章 LINQ介绍  1.1 什么是LINQ  1.2 为什么要用LINQ  1.3 搭建LINQ开发环境   1.3.1 安装 Visual Studio 2008   1.3.2 配置 Visual Studio 2008  1.4 初识LINQ技术   1.4.1 初识LINQ to Objects   1.4.2 初识LINQ to ADO.NET   1.4.3 初识LINQ to XML  1.5 小结 第2章 C#语言的新特性及相关知识  2.1 .NET各个版本之间的关系  2.2 C#语言的新特性   2.2.1 自动属性和属性访问器的保护级别   2.2.2 可空类型   2.2.3 泛型   2.2.4 代理   2.2.5 迭代器与yield关键字   2.2.6 隐式类型的局部变量   2.2.7 对象和集合初始化器   2.2.8 匿名类型   2.2.9 扩展方法   2.2.10 匿名方法和Lamdba表达式  2.3 综合实例:C#高亮编辑及编译运行器  2.4 小结 第3章 LINQ基本子句介绍  3.1 概述  3.2 from子句   3.2.1 单个from子句   3.2.2 复合from子句   3.2.3 多个from子句  3.3 where子句   3.3.1 常见的where子句查询   3.3.2 在where子句中使用自定义函数   3.3.3 动态谓词的筛选  3.4 select子句   3.4.1 输出查询结果   3.4.2 对查询结果进行投影  3.5 group子句   3.5.1 IGrouping泛型接口   3.5.2 分组查询  3.6 into子句  3.7 排序子句   3.7.1 OrderBy和OrderByDescending   3.7.2 ThenBy和ThenByDescending  3.8 let子句  3.9 join子句  3.10 小结 第4章 用于集合、文件、字符串对象的LINQ(LINQ to Objects)  4.1 LINQ标准查询运算符概述  4.2 Enumerable类的介绍  4.3 用于延期执行的Enumerable类方法成员   4.3.1 Take方法   4.3.2 TakeWhile方法   4.3.3 Skip方法   4.3.4 SkipWhile方法   4.3.5 Take、TakeWhile、Skip、SkipWhile小结   4.3.6 Reverse方法   4.3.7 Distinct方法   4.3.8 Union方法   4.3.9 Concat方法   4.3.10 Intersect方法   4.3.11 Except方法   4.3.12 Range方法   4.3.13 Repeat方法   4.3.14 Empty方法   4.3.15 DefaultIfEmpty方法   4.3.16 Cast方法   4.3.17 OfType方法   4.3.18 AsEnumerable方法  4.4 用于立即执行的Enumerable类方法成员  4.5 综合实例  4.6 小结 第5章 用于数据库访问的LINQ (LINQ to SQL) 第6章 用于XML访问的LINQ (LINQ to XML) 第7章 综合应用实例:商品管理解决方案
清晰完整PDF版本,是我从网上买来的 共 150MB,分为13个分卷 在 CSDN 上只有我整个是清晰完整的 LINQ 入门及应用 .NET 2010 SQL LINQ入门及应用 10/13 原价:48.00元 作者:王的强,张晓娜,周静 编著 出版社:清华大学 出版日期:2009-5-1 ISBN:9787302200253 字数:661000 页码:427 -------------------------------------------------------------------------------- 本书介绍微软最前沿的数据查询编程技术,内容由160个知识点实例加5个综合应用案例组成,光盘中提供了涉及到的全部示例源程序项目,对于将要从事正规商业开发的人员有很强的示范性和指导作用。 内容提要 -------------------------------------------------------------------------------- 本书系统、全面地介绍了微软最新推出的LINQ数据开发技术。   本书采取以实践为主、以理论为辅的方法,首先对C#新改进的一些语法做了详细的剖析,让读者领会C#语法的新特点,为后面的学习打下基础,然后对LINQ各个子句和组件进行了实例讲解,通过一个个生动的示例,带领读者由浅入深、系统地学习和掌握LINQ技术。   本书对开发步骤的详细介绍,有助于读者更好地掌握Microsoft Visual Studio 2008开发环境。各个章节中的综合实例,除了充分演示LINQ技术外,还努力引导读者适应面向对象的开发方式。   配书光盘中提供了书中所有的源程序(均为VS2008应用项目),全部项目均经过严格的测试并通过。   本书可供相关技术研究人员、广大.NET应用程序开发人员和用户参考,也可作为高等院校计算机、电子商务以及信息类专业的教材。 目录 -------------------------------------------------------------------------------- 第1章 LINQ介绍  1.1 什么是LINQ  1.2 为什么要用LINQ  1.3 搭建LINQ开发环境   1.3.1 安装 Visual Studio 2008   1.3.2 配置 Visual Studio 2008  1.4 初识LINQ技术   1.4.1 初识LINQ to Objects   1.4.2 初识LINQ to ADO.NET   1.4.3 初识LINQ to XML  1.5 小结 第2章 C#语言的新特性及相关知识  2.1 .NET各个版本之间的关系  2.2 C#语言的新特性   2.2.1 自动属性和属性访问器的保护级别   2.2.2 可空类型   2.2.3 泛型   2.2.4 代理   2.2.5 迭代器与yield关键字   2.2.6 隐式类型的局部变量   2.2.7 对象和集合初始化器   2.2.8 匿名类型   2.2.9 扩展方法   2.2.10 匿名方法和Lamdba表达式  2.3 综合实例:C#高亮编辑及编译运行器  2.4 小结 第3章 LINQ基本子句介绍  3.1 概述  3.2 from子句   3.2.1 单个from子句   3.2.2 复合from子句   3.2.3 多个from子句  3.3 where子句   3.3.1 常见的where子句查询   3.3.2 在where子句中使用自定义函数   3.3.3 动态谓词的筛选  3.4 select子句   3.4.1 输出查询结果   3.4.2 对查询结果进行投影  3.5 group子句   3.5.1 IGrouping泛型接口   3.5.2 分组查询  3.6 into子句  3.7 排序子句   3.7.1 OrderBy和OrderByDescending   3.7.2 ThenBy和ThenByDescending  3.8 let子句  3.9 join子句  3.10 小结 第4章 用于集合、文件、字符串对象的LINQ(LINQ to Objects)  4.1 LINQ标准查询运算符概述  4.2 Enumerable类的介绍  4.3 用于延期执行的Enumerable类方法成员   4.3.1 Take方法   4.3.2 TakeWhile方法   4.3.3 Skip方法   4.3.4 SkipWhile方法   4.3.5 Take、TakeWhile、Skip、SkipWhile小结   4.3.6 Reverse方法   4.3.7 Distinct方法   4.3.8 Union方法   4.3.9 Concat方法   4.3.10 Intersect方法   4.3.11 Except方法   4.3.12 Range方法   4.3.13 Repeat方法   4.3.14 Empty方法   4.3.15 DefaultIfEmpty方法   4.3.16 Cast方法   4.3.17 OfType方法   4.3.18 AsEnumerable方法  4.4 用于立即执行的Enumerable类方法成员  4.5 综合实例  4.6 小结 第5章 用于数据库访问的LINQ (LINQ to SQL) 第6章 用于XML访问的LINQ (LINQ to XML) 第7章 综合应用实例:商品管理解决方案

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值