LinQ—高级查询方法
对于高级查询方法,主要分为五大类,详情下图:
【Distinct】: 避免重复值出现,也就是如果有两个数字2,那么使用集合类可以单一出现
首先我们来写一个数组,方便举例:
// 数组数据personsint[ ] Arr = { 25, 36, 25, 2, 3, 9, 55, 581, 21, 15, 44, 78, 96 };
聚合类
Console.WriteLine("arr的最大值:" + Arr.Max());Console.WriteLine("arr的最小值:" + Arr.Min());Console.WriteLine("arr的平均值:" + Arr.Average());Console.WriteLine("arr的数组元素个数:" + Arr.Count());Console.WriteLine("arr的总和:" + Arr.Sum());
简单理解,就是使用的数组Arr的属性来显示想要的效果:
排序类,关键字ThenBy
var result = Arr.OrderBy(p => p.ToString().Substring(0, 1)); //按照首个数字从小到大排序var result = Arr.OrderBy(p => p.ToString().Substring(0, 1)).ThenBy(p => p); //二次排序//降序排列var t = Arr.OrderBy(p => p.ToString().Substring(0, 1)); var result = from p in t orderby p descending select p;
三种方法,第一种显示效果就是按照第一个数字来排序的,不过此方法一般不符合要求;二则在第一次排序的基础上再次按照从小到大排序;三则是降序排列。
第二种的显示效果:
分区类:
一个take一个skip,skip则跳过之意,take则执行
var result = Arr.Skip(2).Take(3); //跳过两个再取三个的值 var result = Arr.Skip(3); //跳过三个的值,取余后的var result = Arr.SkipWhile(p => p >1); //取出剩余的大于或者等于P之后的所有值,如p>1,所有值都满足,所以输出值为0var result = Arr.TakeWhile(p => p > 4); //取出第一次符合条件的所有值,当遇见不符合条件的情况则停止执行
在上数组中,由于每个值都大于1,所以第三个输出的值为空;最后一个到2的时候则不满足条件,停止执行,所以输出结果:
生成类
对于最后讲述的生成类,它并非之前的扩展方法,而是普通的静态方法
Range只能产生整数序列,Repeat只能产生泛型序列
举例:
var result = System.Linq.Enumerable.Repeat(DateTime.Now, 10); //显示当前日期,和次数
五大类主要包括了LinqQ的各种常用的查询方法,其他的继续在实践中学习。
转载于:https://www.cnblogs.com/huohuoL/p/10545545.html
LinQ—高级查询方法相关推荐
- LinQ高级查询、组合查询
LinQ高级查询.组合查询 LinQ高级查询: 1.模糊查询(包含) Repeater1.DataSource = con.car.Where(r =>r.name.Contains(s)).T ...
- 高级查询(二)+php中文网,MySQL高级查询方法之记录查询
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 此文章主要向大家描述的是MySQL高级查询方法之记录查询的实际操作步骤,以及对其实际操作过程中要用到的代码的详细描述,以下 ...
- 1107 Linq高级查询
Linq高级查: 字符串: 模糊查(包含):con.car.Where(r => r.name.Contains(name)).ToList(); 以什么开头:con.car.Where(r = ...
- 【Spring Data JPA自学笔记三】Spring Data JPA的基础和高级查询方法
文章目录 调用接口的基础方法查询 Repository CrudRepository PagingAndSortingRepository JPARepository JpaSpecification ...
- Django中的ORM操作之高级查询aggregate和annotate方法
Django中的ORM操作之高级查询aggregate和annotate方法 aggregate()方法详解 annotate()方法详解 aggregate和annotate应用场景 Django中 ...
- 实现后台高级查询(基础版)
1 高级查询基础版 操作步骤:1.建立高级查询表对象:XxxQuery/XxxQueryObject.(Xxx表示对象名称):ProductQueryObject(商品的高级查询对象),封装了商品高级 ...
- jeecgboot 查询_124.JSuperQuery高级查询组件 - JeecgBoot 开发文档
参数配置 参数 类型 必填 说明 fieldList array ✔ 需要查询的列集合示例如下,type类型有:date/datetime/string/int/number callback arr ...
- ABP +VUE Elment 通用高级查询(右键菜单)设计+LINQ通用类Expression<Func<TFields, bool>>方法
ABP +VUE Elment 通用高级查询(右键菜单)设计+LINQ通用类Expression 1. 目前需要用VUE实现源cs系统报表的右键菜单所有和自定义查询功能. 1.1 CS端的右键菜单效果 ...
- 使用Dynamic LINQ创建高级查询服务
前言 在以前的文章中,我们介绍了使用AutoFilterer.Generators创建高级查询服务. 但是,AutoFilterer.Generators只能提供简单的范围筛选: 今天,我们介绍如何使 ...
最新文章
- Windows7下安装VC2008绿色版
- 【错误记录】Android 中调用 Process 命令行执行指令 ( java.lang.IllegalThreadStateException: process hasn‘t exited )
- maven错误The JAVA_HOME environment variable is not defined correctly
- python爬取豆瓣前25个影片内容的正则表达式练习
- 计算机史上首篇教你从算法问题提炼算法思想的文章
- printf 格式字符串的 正则化表达式
- 【OpenJ_Bailian - 2790】迷宫(bfs)
- 巴巴运动网学习笔记(51-55)
- Vulkan入门(一)-环境配置.md
- mapabc 地图失效不能进行任何操作
- 计算机页面尺寸,网页页面尺寸一般设置多大才合适?
- PMP项目管理适用于哪些行业?
- PS学习笔记(88天和我一起学会PS)(5/88)
- java跑p_javap使用
- 微信小程序中使用Echarts(折线图)
- Navicat如何导入和导出sql文件
- 数据挖掘流程总结及挖掘算法比较
- 卷积神经网络的应用(人脸识别)
- 曾鸣:互联网的下半场,拼的是协同效应
- [GDG CTF 2022] 几个小题,等WP
热门文章
- 神马是代码简单的cmd模式,这就是!
- 64位Ubuntu提示(...adb": error=2, 没有那个文件或目录)
- 解决FTPClient上传文件为空,显示0字节
- 理解Windows窗体和WPF中的跨线程调用
- RUNOOB python练习题 32 列表的中括号符号小tips
- 第一阶段:前端开发_Mysql——表与表之间的关系
- mysql 1449 : The user specified as a definer ('usertest'@'%') does not exist 解决方法 (grant 授予权限)...
- 微习惯虽好,但是最重要的还是坚持
- 坚持学习WF(8):本地服务之调用外部方法
- MySQL 事物隔离级别