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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406347.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HRESULT返回值说明

From: http://www.blogjava.net/JAVA-HE/archive/2010/01/04/308134.html HRESULT返回值说明 如果函数正常执行,则返回 S_OK,同时真正的函数运行结果则通过参数指针返回。如果遇到了异常情况,则COM系统经过判断,会返回相应的错误值…

Altiris™ IT Management Suite 7 Release Notes

Introduction Altiris™ IT Management Suite from Symantec is the industry’s most comprehensive and integrated suite for reducing the cost and complexity of owning and managing corporate IT assets including desktops, laptops, thin clients, servers, and hete…

dscp值_DSCP 与IP 优先级

IP优先级在IPv4的报文头中,TOS字段是1字节,如下图所示。根据RFC1122的定义,IP优先级(IP Precedence)使用最高3比特(第0~3比特)。+++++++&#xff…

SQL SERVER 参考:游标(Cursor)的讲解与实例

在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条T_SQL 选择语句相关联,因为游…

PAT 1013 数素数 (20)

题目 /*1013. 数素数 (20)令Pi表示第i个素数。现任给两个正整数M < N < 10^4&#xff0c;请输出PM到PN的所有素数。输入格式&#xff1a;输入在一行中给出M和N&#xff0c;其间以空格分隔。输出格式&#xff1a;输出从PM到PN的所有素数&#xff0c;每10个数字占1行&#…

js实现将数据导出为excel文件

js实现将数据导出为excel文件

VC6 CImage 加载jpg png bmp

From: http://hi.baidu.com/crazyonline/blog/item/3bad6959b2d31b232934f0f4.html 今天改一个VC6的程序&#xff0c;因为需要加载png和jpg图像&#xff0c;于是想到了CImage&#xff0c;但是VC6又不支持CImage类&#xff0c;郁闷了&#xff0c;网上看了一下&#xff0c;都是改…

csgo被会话踢出什么鬼_【解决方案】“CSGO游戏—断开连接,VAC无法验证会话”问题解决方案...

本帖最后由 漠视迩旳骄傲 于 2020-4-23 17:01 编辑近期陆续收到很多小伙伴们反馈“CSGO游戏—断开连接&#xff0c;VAC无法验证会话”问题&#xff0c;此问题并非360安全卫士导致。我们收集了游戏官网与热心网友提供的解决方法&#xff0c;整理此方案贴供大家参考&#xff0c;解…

Cross-Site Scripting(XSS)的类型

本文源自&#xff1a; https://www.owasp.org/index.php/Types_of_Cross-Site_Scripting 在原文理解上翻译为中文。 背景 本文描述多种不同类型的XSS攻击&#xff0c;和它们之间的相互关系。 最早&#xff0c;有两种类型的XSS攻击被定义&#xff0c;Stored 和 Reflected &#…

DynamipsGUI下CISCO SDM的安装配置

本人刚开始自学CCNA&#xff0c;在教材里有许多SDM内容&#xff0c;但是手头又没有CISCO路由器&#xff0c;只能借助于模拟器。一开始用的是SDM的DEMO版本&#xff0c;虽然也进去了&#xff0c;但是有很多功能没法使用&#xff0c;只能起熟悉作用&#xff0c;于是就想找一个更好…

原生js实现tab选项卡切换

原生js实现tab选项卡切换

CImage类的用法(转帖)

From: http://elevenguy.blog.163.com/blog/static/616122092010053550593/ 我们知道&#xff0c;Visual C的CBitmap类和静态图片控件的功能是比较弱的&#xff0c;它只能显示出在资源中的图标、位图、光标以及图元文件的内容&#xff0c;而不像VB中的Image控件可 以显示出绝大…

java 头尾 队列_Java数据结构之队列(动力节点Java学院整理)

队列的定义&#xff1a;队列(Queue)是只允许在一端进行插入&#xff0c;而在另一端进行删除的运算受限的线性表。(1)允许删除的一端称为队头(Front)。(2)允许插入的一端称为队尾(Rear)。(3)当队列中没有元素时称为空队列。(4)队列亦称作先进先出(First In First Out)的线性表&a…

ListT please check srcIndex

这种错误的原因&#xff0c;是因为List<T>不是线程安全的。 转载于:https://www.cnblogs.com/chucklu/p/4303873.html

vue 实现点击“增加“”按钮,添加一个HTML元素

vue 实现点击“增加“”按钮&#xff0c;添加一个HTML元素