Linq学习(Let)

<span style="font-size:14px;">  //  let子句用于在LINQ表达式中存储子表达式的计算结果。let子句创建一个范围变量来存储结果,变量被创建后,不能修改或把其他表达式的结果重新赋值给它。此范围变量可   //以再后续的LINQ子句中使用。
public class Singer
    {
        public string Name { set; get; }
        public int Age { set; get; }
    }

 List<Singer> list = new List<Singer>(){
              new Singer{Name="zhangs" ,Age=21},
              new Singer{Name="zhangs",Age=25},
              new Singer{Name="margy",Age=21}
            };

            var query = from a in list
                        let b = a.Name
                        let c=a.Age
                        where b =="zhangs" & c>21
                        select a;
            foreach (var item in query)
            {
                Response.Write("姓名: "+item.Name+"  年龄:"+item.Age);
            }

//结果           姓名: zhangs 年龄:25
//使用let 建立了个范围变量,这个范围变量在后续的where子句中使用,如果不使用let子句,where子句的表达式将写成这样:
//where a.Name=="zhangs" & a.Age>21</span>
时间: 2024-08-10 21:28:06

Linq学习(Let)的相关文章

Linq 学习(1) 概述

本篇简单回顾C#语言集合操作的变化,通过与Linq对等的面向对象的语法来认识Linq.Linq是Language Integrated Query, 初识Linq感觉跟SQL Server的Tsql很像,可以进行语言必备的逻辑操作,也可以实现对集合的直接查询.Net1.X时代C#不支持泛型,集合用元素只能为object类型的ArrayList等.添加.取出元素都与Object类型进行强制类型转换,如果是值类型要进行装箱操作,取出元素时进行拆箱操作,影响效率,编译时不进行类型检查,类型不匹配运行时

Linq 学习笔记

简介: LINQ 提供一种统一的方式,让我们能在C#语言中直接查询和操作各种数据.?? LINQ是用来描述数据访问总体方式的术语.LINQ to Object是针对实现了IEnumerable<T>的对象的LINQ:LINQ to SQL是针对关系数据库的LINQ:LINQ to XML是针对XML文档的LINQ.? ? LINQ除了提供一个统一的API来操作各种数据,并且为我们提供了编译时类型检查和动态创建查询表达式的能力.? LIINQ相关的C#语言功能 1.隐式类型局部变量 局部变量用v

Linq学习(二)-LinQ to Entity

在昨天我学习了LinQ的一些基础知识和动手写了一些LinQ to Object的例子的基础上,对于LinQ语法和基本的要点有了一定的了解.今天继续自己的学习,对于今天学习的LinQ to DataSet 和LinQ to Entity做自己的一些总结,一方面加深自己的理解,另一方面也能掌握LinQ技术的实现机制,对于也跟我一样对着一方面有兴趣的也可以让大家有个初步的感性认识,也是好的. 今天主要的篇幅会讲解LinQ to Entity的C#实现机制以及解决昨天我看完一小节之后的两点疑惑,后面会花

C#之Linq学习笔记【转】

写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些兴趣,所以打算整理点东西出来跟大家一起做个分享. 什么是Linq LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知.静态类型等强类型语言的好处.并

LINQ学习系列-----2.3 迭代器带来的延迟查询

此篇博文承接上一篇博文: LINQ学习系列-----2.2 迭代器 一.第一次执行                      废话不多说,上源码: 执行结果下图: 为什么会这样?其实原因很简单 from n in intArray select Square(n) 可以翻译为:Enumerable.Select<int,double>(intArray,n=>Square(n)); 看过上一篇文章的基本信息知道一些了,Enumerable.Select就是个迭代器,这也是延迟查询的奥秘.

Linq学习之旅——LINQ查询表达式

1. 概述 2. from子句 3. where子句 4. select子句 5. group子句 6. into子句 7. 排序子句 8. let子句 9. join子句 10. 小结 1. 概述 LINQ的全称是Language Integrated Query,中文译成“语言集成查询”.LINQ作为一种查询技术,首先要解决数据源的封装,大致使用了三大组件来实现这个封装,分别是LINQ to Object.LINQ to ADO.NET.LINQ to XML.它们和.NET语言的关系如下:

Linq学习(一)-初涉Linq

一.何谓LINQ LINQ:Language Integrated Query语言集成查询,其本质是对ADO.NET结果集通过反射连同泛型特性转换成对象集,实现OR模型的转换 二.优点与缺点 优点:封装了SQL语句,只对对象进行操作,代码量减少 缺点:追求效益的同时牺牲了性能,比起ADO.NET性能稍差,且对复制的sql语句也不好操作 三.支持那些查询 联合.分组.排序.连接查询 四.何谓Linq to sql Linq to sql是LINQ的一部分,全称基于关系型数据库的DotNet语言集成

Linq学习(三)-基本查询

一.本将主要介绍内容 从linq,sql,lambda三个角度比较来学习 select.orderby.分页.group by.distinct.子查询.in的用法 1.select 查询用户和它们的自我介绍 Linq to sql from a in Blog_UserInfo select new { 真实名字=a.RealName, 自我介绍=a.Introduce } sql SELECT [t0].[RealName] AS [真实名字], [t0].[Introduce] AS [自

LINQ学习笔记

基础概念 LINQ是微软推出的一项具有突破性的新特性--语言集成查询(Language Integrate Query),他在对象和数据间建立了一种对应关系,可以使用访问内存对象的方式查询数据集合 在.NET类库中,LINQ相关类库都在System.Linq命名空间下,对于目前程序需要用到的是LINQ to Object,数据源为实现了接口IEumerable<T>或IQueryable<T>的内存数据集合,对于本程序也就是List<T>集合 LINQ查询的目的是从制定

linq学习

本篇文章主要介绍linq的基本用法,采用sql和linq比较的方式由浅入深进行学习,注意:此文章是根据真实表来进行案例说明,表结构如下: 表1:    Student(学生表)                     字段: Student_Id(学生ID)                                        Student_Name(学生姓名)                                   Student_age(年龄)