对于高级查询方法,主要分为五大类,详情下图:

【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—高级查询方法相关推荐

  1. LinQ高级查询、组合查询

    LinQ高级查询.组合查询 LinQ高级查询: 1.模糊查询(包含) Repeater1.DataSource = con.car.Where(r =>r.name.Contains(s)).T ...

  2. 高级查询(二)+php中文网,MySQL高级查询方法之记录查询

    欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 此文章主要向大家描述的是MySQL高级查询方法之记录查询的实际操作步骤,以及对其实际操作过程中要用到的代码的详细描述,以下 ...

  3. 1107 Linq高级查询

    Linq高级查: 字符串: 模糊查(包含):con.car.Where(r => r.name.Contains(name)).ToList(); 以什么开头:con.car.Where(r = ...

  4. 【Spring Data JPA自学笔记三】Spring Data JPA的基础和高级查询方法

    文章目录 调用接口的基础方法查询 Repository CrudRepository PagingAndSortingRepository JPARepository JpaSpecification ...

  5. Django中的ORM操作之高级查询aggregate和annotate方法

    Django中的ORM操作之高级查询aggregate和annotate方法 aggregate()方法详解 annotate()方法详解 aggregate和annotate应用场景 Django中 ...

  6. 实现后台高级查询(基础版)

    1 高级查询基础版 操作步骤:1.建立高级查询表对象:XxxQuery/XxxQueryObject.(Xxx表示对象名称):ProductQueryObject(商品的高级查询对象),封装了商品高级 ...

  7. jeecgboot 查询_124.JSuperQuery高级查询组件 - JeecgBoot 开发文档

    参数配置 参数 类型 必填 说明 fieldList array ✔ 需要查询的列集合示例如下,type类型有:date/datetime/string/int/number callback arr ...

  8. ABP +VUE Elment 通用高级查询(右键菜单)设计+LINQ通用类Expression<Func<TFields, bool>>方法

    ABP +VUE Elment 通用高级查询(右键菜单)设计+LINQ通用类Expression 1. 目前需要用VUE实现源cs系统报表的右键菜单所有和自定义查询功能. 1.1 CS端的右键菜单效果 ...

  9. 使用Dynamic LINQ创建高级查询服务

    前言 在以前的文章中,我们介绍了使用AutoFilterer.Generators创建高级查询服务. 但是,AutoFilterer.Generators只能提供简单的范围筛选: 今天,我们介绍如何使 ...

最新文章

  1. Windows7下安装VC2008绿色版
  2. 【错误记录】Android 中调用 Process 命令行执行指令 ( java.lang.IllegalThreadStateException: process hasn‘t exited )
  3. maven错误The JAVA_HOME environment variable is not defined correctly
  4. python爬取豆瓣前25个影片内容的正则表达式练习
  5. 计算机史上首篇教你从算法问题提炼算法思想的文章
  6. printf 格式字符串的 正则化表达式
  7. 【OpenJ_Bailian - 2790】迷宫(bfs)
  8. 巴巴运动网学习笔记(51-55)
  9. Vulkan入门(一)-环境配置.md
  10. mapabc 地图失效不能进行任何操作
  11. 计算机页面尺寸,网页页面尺寸一般设置多大才合适?
  12. PMP项目管理适用于哪些行业?
  13. PS学习笔记(88天和我一起学会PS)(5/88)
  14. java跑p_javap使用
  15. 微信小程序中使用Echarts(折线图)
  16. Navicat如何导入和导出sql文件
  17. 数据挖掘流程总结及挖掘算法比较
  18. 卷积神经网络的应用(人脸识别)
  19. 曾鸣:互联网的下半场,拼的是协同效应
  20. [GDG CTF 2022] 几个小题,等WP

热门文章

  1. 神马是代码简单的cmd模式,这就是!
  2. 64位Ubuntu提示(...adb": error=2, 没有那个文件或目录)
  3. 解决FTPClient上传文件为空,显示0字节
  4. 理解Windows窗体和WPF中的跨线程调用
  5. RUNOOB python练习题 32 列表的中括号符号小tips
  6. 第一阶段:前端开发_Mysql——表与表之间的关系
  7. mysql 1449 : The user specified as a definer ('usertest'@'%') does not exist 解决方法 (grant 授予权限)...
  8. 微习惯虽好,但是最重要的还是坚持
  9. 坚持学习WF(8):本地服务之调用外部方法
  10. MySQL 事物隔离级别