.Net进阶系列(4)-Lambda和linq入门(被替换)
一. 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入门(被替换)的更多相关文章
- 进阶系列(9)——linq
一.揭开linq的神秘面纱(一)概述 LINQ的全称是Language Integrated Query,中文译成“语言集成查询”.LINQ作为一种查询技术,首先要解决数据源的封装,大致使用了三大组 ...
- .Net进阶系列(10)-异步多线程综述(被替换)
一. 综述 经过两个多个周的整理,异步多线程章节终于整理完成,如下图所示,主要从基本概念.委托的异步调用.Thread多线程.ThreadPool多线程.Task.Parallel并行计算.async ...
- Wireshark入门与进阶系列(一)
摘自http://blog.csdn.net/howeverpf/article/details/40687049 Wireshark入门与进阶系列(一) “君子生非异也,善假于物也”---荀子 本文 ...
- Wireshark入门与进阶系列(二)
摘自http://blog.csdn.net/howeverpf/article/details/40743705 Wireshark入门与进阶系列(二) “君子生非异也,善假于物也”---荀子 本文 ...
- 超全PHP学习资源整理:入门到进阶系列
PHP是少数几门在语言层面饱受诟病,但在实际开发和应用上却又让人无法撒手的语言之一.就好比路边摊小吃,一遍骂人家不卫生,一遍却又说:真香.所谓接地气,不外如此,大道理不说,PHP光是轮子多.市场占有率 ...
- C# 基础知识系列- 6 Lambda表达式和Linq简单介绍
前言 C#的lambda和Linq可以说是一大亮点,C#的Lambda无处不在,Linq在数据查询上也有着举足轻重的地位. 那么什么是Linq呢,Linq是 Language Intergrated ...
- Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G
code&monkey Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...
- DotNet进阶系列
一. 回顾历史 回顾个人发展历程,自2012年初次接触开发至今(2018年)已经有六个年头,这期间陆陆续续学习并掌握了不少技术,C#语言.ORM框架.多线程技术.设计模式.前端技术.MVC.MVVM框 ...
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
随机推荐
- node多文件处理方法
let events = require('events'); let fs = require('fs'); // 将readfile封装成一个方法 多文件处理 function fnreadFi ...
- 转帖: 一份超全超详细的 ADB 用法大全
增加一句 连接 网易mumu模拟器的方法 adb connect 127.0.0.1:7555 一份超全超详细的 ADB 用法大全 2016年08月28日 10:49:41 阅读数:35890 原文 ...
- Android控件第3类——AdapterView
AdapterView这一类控件的最大特点,在绝大多数的情况下,它们的数据都由Adapter的子类提供(有时可以在控件的entries属性上直接设置显示的数据). 调用AdapterView的setA ...
- MidoNet 安装(Kilo RDO)(最老版)
一.初始化(Kilo RDO)版(最老版) 环境介绍 系统 CentOS 7.3 主机ip 10.211.55.5 主机名 midonet 1.配置yum源 ###OpenStack源 yum ins ...
- Hashtable数据存储结构-遍历规则,Hash类型的复杂度为啥都是O(1)-源码分析
Hashtable 是一个很常见的数据结构类型,前段时间阿里的面试官说只要搞懂了HashTable,hashMap,HashSet,treeMap,treeSet这几个数据结构,阿里的数据结构面试没问 ...
- Lodop打印条码二维码的一些设置
Lodop绘制条码图功能让条码打印变得很简单,客户端不用安装专门的条码字库,该函数格式如下:ADD_PRINT_BARCODE(Top,Left,Width,Height,BarCodeType,Ba ...
- 【BZOJ1799】[AHOI2009]同类分布(动态规划)
[BZOJ1799][AHOI2009]同类分布(动态规划) 题面 BZOJ 洛谷 题解 很容易想到数位\(dp\),然而数字和整除原数似乎不好记录.没关系,直接枚举数字和就好了,这样子就可以把整除原 ...
- tf 数据读取
tf.train.batch( tensors, batch_size, num_threads=1, capacity=32, enqueue_many=False, shapes=None, dy ...
- Centos7下安装python3
1. 安装依赖环境 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline- ...
- 2018 省选 D1T2 IIIDX
题目大意: 给出k.n个数选择一种字典序最大的排列,使得对于任意的i,di>=d[i/k](下取整 下同) 分析: 很容易想到的是建树,将i的父亲设为[i/k],之后建有向边. 60分贪心: 将 ...