一. Lambda和linq入门

  lambda表达式又叫点标记,linq表达式又叫查询表达式,下面有三个简单的案例说明一下二者的基本用法,详细用法会在后续章节中更新。

二. 事例

 1. 准备学生信息。

  List<Student> studentList = new List<Student>()
{
new Student()
{
Id=,
Name="打兔子的猎人",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="Alpha Go",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="白开水",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="狼牙道",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="Nine",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="Y",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="小昶",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="yoyo",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="冰亮",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="瀚",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="毕帆",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="一点半",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="小石头",
ClassId=,
Age=
},
new Student()
{
Id=,
Name="大海",
ClassId=,
Age=
},
};

 2. 查找年龄小于30岁的学生

  lambda代码如下:

  {
//1.查找年龄小于30岁的学生
List<Student> students = studentList.Where<Student>(u => u.Age < ).ToList();
}

  linq代码如下

  {
//1.查找年龄小于30岁的学生
List<Student> students = (from a in studentList
where a.Age <
select a
).ToList();
}

3. 部分字段查找测试(利用匿名类),按条件转换

  lambda代码如下:

    {
//2.部分字段查找测试(利用匿名类),按条件转换
var sInfor = studentList.Where(u => u.Age < ).Select(u =>
new
{
Cid = u.Id + u.Name,
ClassName = u.ClassId == ? "高级班" : "幼儿班"
}
);
}

   linq代码如下:

  {
//2.部分字段查找测试(利用匿名类),按条件转换
var sInfor = from a in studentList
where a.Age <
select new
{
Cid = a.Id + a.Name,
ClassName = a.ClassId == ? "高级班" : "幼儿班"
};
}

4. 排序和分页(linq暂不支持分页,后续更新)

  lambda代码如下:

  {
//3. 排序和分页
var sInfor = studentList.Where(u => u.Age < )
.OrderBy(u => u.Id)
.Skip()
.Take()
.Select(u =>
new
{
Cid = u.Id + u.Name,
ClassName = u.ClassId == ? "高级班" : "幼儿班"
}
);
}

   linq代码如下:

  {
//3. 排序和分页(暂无分页)
var sInfor = from a in studentList
where a.Age <
orderby a.Id
select new
{
Cid = a.Id + a.Name,
ClassName = a.ClassId == ? "高级班" : "幼儿班"
}; }

.Net进阶系列(4)-Lambda和linq入门(被替换)的更多相关文章

  1. 进阶系列(9)——linq

    一.揭开linq的神秘面纱(一)概述  LINQ的全称是Language Integrated Query,中文译成“语言集成查询”.LINQ作为一种查询技术,首先要解决数据源的封装,大致使用了三大组 ...

  2. .Net进阶系列(10)-异步多线程综述(被替换)

    一. 综述 经过两个多个周的整理,异步多线程章节终于整理完成,如下图所示,主要从基本概念.委托的异步调用.Thread多线程.ThreadPool多线程.Task.Parallel并行计算.async ...

  3. Wireshark入门与进阶系列(一)

    摘自http://blog.csdn.net/howeverpf/article/details/40687049 Wireshark入门与进阶系列(一) “君子生非异也,善假于物也”---荀子 本文 ...

  4. Wireshark入门与进阶系列(二)

    摘自http://blog.csdn.net/howeverpf/article/details/40743705 Wireshark入门与进阶系列(二) “君子生非异也,善假于物也”---荀子 本文 ...

  5. 超全PHP学习资源整理:入门到进阶系列

    PHP是少数几门在语言层面饱受诟病,但在实际开发和应用上却又让人无法撒手的语言之一.就好比路边摊小吃,一遍骂人家不卫生,一遍却又说:真香.所谓接地气,不外如此,大道理不说,PHP光是轮子多.市场占有率 ...

  6. C# 基础知识系列- 6 Lambda表达式和Linq简单介绍

    前言 C#的lambda和Linq可以说是一大亮点,C#的Lambda无处不在,Linq在数据查询上也有着举足轻重的地位. 那么什么是Linq呢,Linq是 Language Intergrated ...

  7. Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G

    code&monkey   Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...

  8. DotNet进阶系列

    一. 回顾历史 回顾个人发展历程,自2012年初次接触开发至今(2018年)已经有六个年头,这期间陆陆续续学习并掌握了不少技术,C#语言.ORM框架.多线程技术.设计模式.前端技术.MVC.MVVM框 ...

  9. Linq之旅:Linq入门详解(Linq to Objects)

    示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...

随机推荐

  1. react + dva + ant架构后台管理系统(一)

    一.什么是dva dva是蚂蚁金服推出的一个单页应用框架,对 redux, react-router, redux-saga进行了上层封装,没有引入新的概念,但是极大的程度上提升了开发效率: 二.安装 ...

  2. RBAC权限控制系统

    1.概述 RBAC(Role-Based Access Control )基于角色的访问控制. RBAC的权限控制可以抽象概括为:判断[Who是否可以对What进行How的访问操作(Operator) ...

  3. 【转帖】ARM的两种不同的CPU docker 应该也是支持arm的

    armel和armhf区别选择 知识经验  3年前 (2014-11-07)  20603浏览  1评论 目录 fpu单元 armel与armhf 安装armel和armhf arm-linux-gn ...

  4. 转载《ionic 热更新 cordova-hot-code-push》

    cordova-hot-code-push ,Cordova热代码推送插件提供了在应用程序中执行基于Web的内容的自动更新的功能.使用此插件可以更新存储在项目的www文件夹中的所有内容. cordov ...

  5. Alpha、伪Beta 发布个人感想与体会

    1.Alpha版本 在Alpha版本发布时,我在Fantacy组,那时的体会我已在前面写过,现在回想起来,我觉得自己的决定似乎做的并不是很糟糕,因为来到新的团队里,我学到了很多东西,认识了很多技术很好 ...

  6. gitbook 简单使用

    gitbook 简单使用 之前由于公司培训过使用 gitbook,当时也没有进行安装使用.当时就感觉就是 markdown 语法,加上我本来就是使用 markdown 进行写博客之类.再加上这个东西本 ...

  7. 洛谷P3588 [POI2015]PUS

    题面 sol:说了是线段树优化建图的模板... 就是把一整个区间的点连到一个点上,然后用那个点来连需要连一整个区间的点就可以了,就把边的条数优化成n*log(n)了 #include <queu ...

  8. ELK--filebeat nginx模块

    Nginx模块 该nginx模块解析由Nginx HTTP服务器创建的访问和错误日​​志 . 当你运行这个模块的时候,它会执行一些任务: 设置日志文件的默认路径(但不用担心,可以覆盖默认值) 确保每个 ...

  9. LCT总结——应用篇(附题单)(LCT)

    为了优化体验(其实是强迫症),蒟蒻把总结拆成了两篇,方便不同学习阶段的Dalao们切换. LCT总结--概念篇戳这里 题单 灰常感谢XZY巨佬提供的强力资磁!(可参考XZY巨佬的博客总结) 题单对于系 ...

  10. 17 利用Zabbix完成VMare监控

    点击返回:自学Zabbix之路 17 利用Zabbix完成VMare监控 最近在研究通过Zabbix监控VMware vSphere,Zabbix Documentation 3.0 从文档中我们看到 ...