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,一经查实,立即删除!

相关文章

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

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

Cross-Site Scripting(XSS)的类型

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

DynamipsGUI下CISCO SDM的安装配置

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

CImage类的用法(转帖)

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

Windows SDK笔记(三):定制控件消息处理函数

From: http://www.vckbase.com/document/viewdoc/?id1009 一、概述 控件的消息处理函数是由系统定义好了的,通常情况下,不需要自己提供。 但当需要对控件进行特殊控制时,可以提供一个消息处理函数,替换原来的消息处理函数。 自…

python tip

Python代码 def run(name,age,sex): print name :,name,age:,age,sex:,sex >>> run(xiaoming,namexiaoming,sexboy) SyntaxError: non-keyword arg after keyword arg def run(name,age,sex): print name :,name,age:,age,sex:,sex >>> run…

博客园开始对X++语言语法高亮的支持

关注X的博客园博友有福啦,现在发布X代码也同样可以实现语法高亮。目前仅支持SyntaxHighlighter插件。请看如下: public void update(boolean _updateParty true, boolean _updateContactPersonLastEdit true) {Address addressOrig this.orig();ttsbe…

win10网卡高级属性配置图解_简单设置,win10再也不会断网了

你多朋友反应win10会频繁断网,无任何规律。这也是导致很多人反感win10的原因之一。我百度了一下这个问题,解决问题的方法基本上都是关闭省电模式,重装网卡驱动之类的答案。但都解决不了根本问题。虽然不清楚深层次的断网原因,但通…

为子控件添加自定义绘图方式

在MFC应用程序中,有时会遇到需要让指定的控件实现自绘。但是看该控件的事件,没有一个像是能承担这种责任的。 我们都知道控件也是窗口,也都有消息循环。所以: 方案一:写个新类,继承自某个窗口类&#xff…

根据父类id查询所有的父级_父类子类抽象类,super final 重写方法,搞懂继承中复杂的知识点...

继承继承(Inheritance)可以实现类之间共享属性和方法,是面向对象编程的另一个特性使用继承可以最大限度地实现代码复用。定义:继承就是在已有类的基础上构建新的类,一个类继承已有类后,可以对被继承类中的属性和方法进行重用。继承…

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十八:SDRAM模块① — 单字读写...

实验十八:SDRAM模块① — 单字读写 笔者与SDRAM有段不短的孽缘,它作为冤魂日夜不断纠缠笔者。笔者尝试过许多方法将其退散,不过屡试屡败的笔者,最终心情像橘子一样橙。《整合篇》之际,笔者曾经大战几回儿,不…

gateway请求拦截_一种网关对用户请求进行统一拦截判断是否放行的方法与流程...

本发明涉及互联网技术领域,特别涉及一种网关对用户请求进行统一拦截判断是否放行的方法。背景技术:随着互联网发展的越来越快,技术也更新的非常频繁,比如开发一个系统的架构由最初始的单个服务器就能处理演变到现在的利用springcl…