在查询表达式中,存储子表达式的结果有时很有用,这样可以在随后的子句中使用。可以使用 let 关键字完成这一工作,该关键字可以创建一个新的范围变量,并且用您提供的表达式的结果初始化该变量。一旦用值初始化了该范围变量,它就不能用于存储其他值。但如果该范围变量存储的是可查询的类型,则可以对其进行查询。

 1 public class LetFromLinq : Interface
 2     {
 3         #region Interface Members
 4 
 5         public void invoke()
 6         {
 7             String[] strs = {  "A penny saved is a penny earned.",
 8             "The early bird catches the worm.",
 9             "The pen is mightier than the sword." };
10             
11             //使查询只能对范围变量 word 调用一次 ToLower。如果不使用 let,则必须在 where 子句的每个谓词中调用 ToLower。
12             var earlyBirdQuery = from sentence in strs
13                                  let words = sentence.Split(' ') //用空格分隔strs数组
14                                  from word in words
15                                  let w = word.ToLower() //把数组元素进行小写操作
16                                  where w[0] == 't' 
17                                  select word;
18 
19             foreach (var v in earlyBirdQuery)
20             {
21                 Console.WriteLine("\"{0}\" starts with a vowel", v);
22             }
23 
24             Console.WriteLine("Press any key to exit.");
25             Console.ReadKey();
26         }
27 
28         #endregion
29     }

LINQ Coding 目录

  1. Linq Coding -- Part One
  2. Linq Coding -- Part Two[标准查询运算符]
  3. Linq Coding -- Part Three [Let子句]
  4. Linq Coding -- Part Four[Concat应用]
  5. Linq Coding -- Part Five (Join之内部联接查询)
  6. Linq Coding -- Part Six (Join之分组联接)
  7. Linq Coding -- Part Seven (Join之左外部联接、DefaultIfEmpty、GroupJoin)

转载于:https://www.cnblogs.com/RuiLei/archive/2008/02/26/1082600.html

Linq Coding -- Part Three [Let子句]相关推荐

  1. Linq Coding -- Part Eight (Equals Topic)

    首先说一下同等联接,大家一般都知道Join Clause执行的其实是同等联接. 那是什么是同等联接呢?     同等联接:就是只能在两个键(外键.内键)之间的相等关系Match.而其他类型的比较(比如 ...

  2. Linq学习from let where子句

    using System; using System.Collections.Generic; using System.Linq; using System.Text; /*from let whe ...

  3. LINQ之查询语法—let子句

    let子句主要有2种用法: 1)创建一个可以用于查询自身的可枚举类型: 2)存储一个查询出来的临时变量以方便用于后续操作. let子句也比较简单,我们通过一个例子来认识它. 我们要从一组句子中,找到所 ...

  4. Linq之select子句

    在Linq中select子句用来指定查询结果的类型和表现形式.Linq查询要么以select子句结尾,要么以group子句结尾. 1 List<UserBaseInfo> users = ...

  5. 从LINQ开始之LINQ to Objects(上)

    LINQ概述 LINQ,语言集成查询(Language Integrated Query),它允许使用C#或VB代码以查询数据库相同的方式来操作不同的数据源. LINQ体系结构 从上图可以看出,LIN ...

  6. [深入学习C#]LINQ查询表达式详解(1)——基本语法、使用扩展方法和Lambda表达式简化LINQ查询

    此文章非原创,转载自诗人江湖老,原文地址 在Git上下载源码 在工程中我们少不了要定义类或者结构去储存数据,这些数据将被临时地储存在内存中,现在我们想要对其完成一些类似于查找.过滤等等常见的任务的时候 ...

  7. .net core精彩实例分享 -- LINQ

    文章目录 介绍 具体案例 将对象转为字典集合 将原始序列进行分组 按员工所属部门 DefaultIfEmpty方法的作用 将分组后的序列重新排序 使用并行LINQ 总结 介绍 随着.net core越 ...

  8. LINQ(隐式表达式、lambda 表达式)

    .NET 中一项突破性的创新是 LINQ( Language Integrated Query,语言集成查询),这组语言扩展让你能够不必离开舒适的 C# 语言执行查询. LINQ 定义了用于构建查询表 ...

  9. APS.NET MVC + EF (01)---Linq和Lambda表达式

    APS.NET MVC + EF (01)---Linq和Lambda表达式 1.1 Linq介绍 LINQ全称 Language Integrated Query(语言集成查询).为我们提供一种统一 ...

最新文章

  1. 导航,头部,CSS基础
  2. 用户变量和系统变量的区别是什么?
  3. Shell多线程操作及线程数控制实例
  4. C# 9 新特性 —— 增强的模式匹配
  5. (四)十大经典排序算法(动画图解,代码完全)
  6. Mongodb Replica Configure
  7. Spring Boot笔记-设置拦截器为false时返回的Body
  8. Linux 系统安装 AutoFs 挂载服务
  9. 小程序中canvas绘制网络图片
  10. conda 虚拟环境内安装git_用anaconda创建的虚拟环境安装FALCON
  11. 通讯录(结尾附全部代码)
  12. 二叉树遍历之递归与非递归遍历
  13. pycharm的python_stubs
  14. ems数字货币运营模式,emstoken是什么,emstoken骗局揭秘
  15. 倪光南:网络不安全要挨打 不用县县都建数据中心
  16. 方程组在原点附近解matlab,前置血管常发生于A.副胎盘B.胎盘血管瘤C.双叶胎盘D.帆状胎盘...
  17. C语言和python实现——公鸡5文钱一只, 母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡
  18. contiki学习笔记(十二)UIPTCP/IP协议
  19. 使用这些方式让你的ipad拥有更长的使用寿命
  20. Unity3D之矩阵运用

热门文章

  1. go build和go install的区别
  2. 11.C程序内存空间分配
  3. 3._FILE_和_LINE_
  4. Android --- 199 198开头手机号正则表达式无效
  5. android编程获取网络和wifi状态及调用网络设置界面,Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面 - Android平台开发技术 - 博客园...
  6. python读取一个图像_从图像处理python的文件中读取多个图像
  7. python opencv resize函数_Python OpenCV中的resize()函数的使用
  8. 上海市提出IDC建设指导意见,新建IDC限制PUE1.3以下
  9. 一秒钟世界上会发生多少事_1秒钟世界上会发生多少事?答案超乎你的想象……...
  10. apache2.4.6支不支持jsp_Spring Boot中文参考指南(2.1.6)50、Kotlin 支持