MVC ---- 标准查询运算符
标准查询运算符:定义在System.Linq.Enumerable类中的50多个为IEnumerable<T>准备的扩展方法,这些方法用来
对它操作的集合进行查询筛选。
筛选集合Where:需要提供一个带bool返回值的“筛选器”,从而表明集合中某个元素是否应该被返回。
查询投射,返回新对象集合IEnumerable<TSource> Select()
统计数量 int Count()
多条件排序 Order By().ThenBy().ThenBy()
集合链接Join()
......
public class NineDemo
{
public static void TestNine()
{
List<User> usList =Five.GetUserList();
List<Dept> dtLsit =Five.GetDeptList(); //1.Where的用法
List<User> user = usList.Where(new Func<User,bool>(delegate(User u){return u.Age >})).ToList(); //遍历所以用户姓名+年龄
usList.ForEach(u=>Console.WriteLine(u.Name+u.Age); //遍历 年龄大于12的用户
user.ForEach(u=>Console.WriteLine(u.Name); //缩写 年龄大于12的用户
List<User> user = usList.where(u=>u.Age > ); // 2. Order排序
List<User> user = usList.OrderByDescending(u=>u.Age).ToList();
//先按年龄降序、手机号降序、姓名升序
List<User> user = usList.OrderByDescending(u=>u.Age).ThenByDescending(u=>u.Phone).ThenBy(u=>u.Name).ToList(); // 3. Join 链接
//User 和 Dept(deptId) 要有关系,User中有deptId .
//得到一个新的集合(匿名类) (u代表usList,p代表dtList)
var ud = usList.Join(dtLsit,u=>u.DeptId,p=>DeptId,(u,p)=>new {UserName=u.Name,LoginName=u.LoginName,Deptname=p.DeptName}).ToList(); //遍历
ud.ForEach(u=>Console.WriteLine(u.Name+u.DeptName));
-------------
//第二种方式
//临时封装一个实体,用来接收新的数据
[Serializable]
public class UserDept{
public string UserName{get;set;}
public string LoginName{get;set;}
public string Deptname{get;set;}
} //得到一个新的集合(UserDept集合接收)
List<UserDept> ud = usList.Join(dtLsit,u=>u.DeptId,p=>DeptId,(u,p)=>new UserDept(){UserName=u.Name,LoginName=u.LoginName,Deptname=p.DeptName}).ToList(); //遍历
ud.ForEach(u=>Console.WriteLine(u.Name+u.DeptName)); //4. GroupBy 分组
//按照集合中的用户的部门编号进行分组(用IEnumerable<IGrouping<string,User>>接收)
IEnumerable<IGrouping<string,User>> usersGroup = usList.GroupBy(u=>u.DeptId);
//也可以放在匿名中
var usersGroup = usList.GroupBy(u=>u.DeptId);
//遍历
foreach(IGrouping<string,User> group in userGroup){
Console.WriteLine("部门编号"+group.Key);
//遍历组中的元素
foreach(User _user in group){
Console.WriteLine(_user.Name+_user.Phone);
}
} //5. Skip+Take分页
//Skip的意思:跳过,Take:拿,取
//前提数据源按一定的列进行排序
List<User> pageList = usList.OrderBy(u=>u.Name).ToList();
//取第二页数据
List<User> us = GetPageListByIndex(pageList,);
//遍历
us.ForEach(u=>u.Name+u.Phone); //封装一个方法
//根据页码提取当页数据 ,list要分页的数据,pageIndex页码
static List<User> GetPageListByIndex(List<User> list,int pageIndex){
int pageSize = ;
return list.Skip((pageIndex-)*pageSize).Take(pageSize).ToList();
} }
}
MVC ---- 标准查询运算符的更多相关文章
- .NET中那些所谓的新语法之四:标准查询运算符与LINQ
开篇:在上一篇中,我们了解了预定义委托与Lambda表达式等所谓的新语法,这一篇我们继续征程,看看标准查询运算符和LINQ.标准查询运算符是定义在System.Linq.Enumerable类中的50 ...
- .NET LINQ标准查询运算符
标准查询运算符概述 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法. 大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了 IEnumerable<T> ...
- SQO (标准查询运算符)方法 & Linq To Object
#region SQO (标准查询运算符) 方法 #region Where() Find() FindAll() FirstOrDefault()等方法 static void c01where() ...
- 十四、C# 支持标准查询运算符的集合接口
支持标准查询运算符的集合接口. System.Linq.Enumeralbe类提供的一些常用的API 来执行集合处理 1.匿名类型 2.隐匿类型的局部变量 3.集合初始化器 4.集合 5.标准查询运算 ...
- “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法
“标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> 接口或 IQueryable& ...
- C#3.0新增功能09 LINQ 标准查询运算符 01 概述
连载目录 [已更新最新开发文章,点击查看详细] 标准查询运算符 是组成 LINQ 模式的方法. 这些方法中的大多数都作用于序列:其中序列指其类型实现 IEnumerable<T> 接 ...
- C#3.0新增功能09 LINQ 标准查询运算符 02 查询表达式语法
连载目录 [已更新最新开发文章,点击查看详细] 某些使用更频繁的标准查询运算符具有专用的 C# 语言关键字语法,使用这些语法可以在查询表达式中调用这些运算符. 查询表达式是比基于方法的等效项更具 ...
- C#3.0新增功能09 LINQ 标准查询运算符 03 按执行方式的分类
连载目录 [已更新最新开发文章,点击查看详细] 标准查询运算符方法的 LINQ to Objects 实现主要通过两种方法之一执行:立即执行和延迟执行.使用延迟执行的查询运算符可以进一步分为两种 ...
- C#3.0新增功能09 LINQ 标准查询运算符 04 运算
连载目录 [已更新最新开发文章,点击查看详细] 本篇主要介绍标准查询运算符的常用运算功能. 01 对数据排序 排序操作基于一个或多个属性对序列的元素进行排序. 第一个排序条件对元素执行主要排序. ...
随机推荐
- react.js 之 create-react-app 命令行工具系统讲解
react.js 教程之 create-react-app 命令行工具系统讲解 快速开始 npm install -g create-react-app create-react-app my-app ...
- phpstorm中FTP自动同步功能
首先打开PhpStorm软件,新建个项目完成以后,找到Tools, 找到 Tools->Deployment->configruation点击进行设置, 点击configruation ...
- BCB 按钮添加背景图
使用控件:TBitBtn 位于 Additional分类 属性:GlyPh
- SQL Server 运行状况监控SQL语句
Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的 ...
- python chunk模块
chunk模块用于读取TIFF格式的文件,打开应该使用二进制模式 TIFF 标签图像文件格式 import chunk import chunk f=open('E:\\test.tiff','rb' ...
- 在thinkphp里面执行原生的sql语句
在thinkphp里面执行原生的sql语句 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $Model = D(); 或者 $Model = M ...
- Ubuntu系统下在github中新增库的方法
上一篇介绍了Ubuntu16.04系统下安装git的方法.本博客介绍怎么在github上怎么新建库. 如图 root@ranxf:/home/ranxf/learnGit/ranran_jiekou# ...
- Linux中Postfix邮件WebMail配置(七)
Extmail Extmail 是一个以perl语言编写,面向大容量/ISP级应用,免费的高性能Webmail软件,主要包括ExtMail.Extman两个部分的程序套件.ExtMail套件用于提供从 ...
- 01: tornado基础篇
目录:Tornado其他篇 01: tornado基础篇 02: tornado进阶篇 03: 自定义异步非阻塞tornado框架 04: 打开tornado源码剖析处理过程 目录: 1.1 Torn ...
- 20145101《Java程序设计》第9周学习总结
20145101<Java程序设计>第9周学习总结 教材学习内容总结 第十六章 整合数据库 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增 ...