C#驱动之LINQ教程 介绍 本教程涵盖了1.8发布版本对linq查询的支持。...() 后,你便可以正常调用linq了。...支持的LINQ查询操作符 本节介绍支持的LINQ查询操作符。....Skip(100) .Take(100); ThenBy ThenBy 是用来指定一个额外的升序排序的结果集。...query = collection.AsQueryable() .OrderBy(c => c.X) .ThenBy(c => c.Y); ThenByDescending
的组成 LINQ 主要包含以下三部分: LINQ to Objects 主要负责对象的查询 LINQ to XML 主要负责 XML 的查询 LINQ to ADO.NET 主要负责数据库的查询:...参数列表中的参数类型可以是明确类型或者是推断类型(var)。 如果是推断类型,则参数的数据类型将由编译器根据上下文自动推断出来。 如果参数列表只包含一个推断类型参数时,可以去掉括号: ? ?...4.1 LINQ的基本操作符 Select() Where() OrderBy() GroupBy() 4.1.1 基本查询操作符-获取数据 Select() ? ? ?...4.1.3 基本查询操作符-排序数据 OrderBy() ? ? 4.1.4 基本查询操作符-分组数据 GroupBy() ? 4.2 高级查询方法 ?...4.2.2 排序类查询方法 ThenBy ? 4.2.3 分区类查询方法 Take/TakeWhile Skip/SkipWhile ? ? ?
然而,连续地使用多个OrderBy最终只会生效最后一个OrderBy,天无绝人之路,所以这个时候应该使用ThenBy!!...使用ThenBy可以讲以上的三条排序规则简化如下: stockQuantities = stockQuantities.OrderBy(u => u.Status==null).ThenBy(u =>...u.DateTime).ThenBy(u => u.Quantity).ToList(); 即可完美地实现再前一个排序前提下进行二级排序。...优化后的完整代码如下: using System; using System.Collections.Generic; using System.Linq; namespace OrderBy {...(u => u.Status==null).ThenBy(u => u.DateTime).ThenBy(u => u.Quantity).ToList(); foreach
LINQ 语法不是立马执行的,不像我们以前的加减乘除等运算啊,它把对它的操作先攒着,只有在用到 这个对象的时候 才会一下全部执行 ? ? 这个例子,输出结果在右边。...他要是前两句执行了的话,shortNames就已经成型了,只含名字长度<=8的名字,有3个 names 添加一个,跟我shortNames 没关系,最终的输出结果应该是3个 但是是4个,这就验证了我们上面说的话,LINQ...,不用存一个查一个,浪费 ---- 上面我们展示了 LINQ的两种语法 Query Syntax Method syntax ?...来链接多个Where 最后说一句,筛选出来的数据是一个新的对象,原数据一直留在那儿,你不操作它就保持原样 ---- 排序 OrderBy ThenBy 上面说的Where用来筛选数据,现在说排序,语法都是一样的...很简单是吧,但是现实生活中排序不是这么简单的,比如 总考分相同的考生 按照语数外的分数再排序,这就涉及到多个条件了 多个条件用ThenBy连接,ThenBy多了可以继续ThenBy ?
什么是LinQ To Objects? ...LinQ To Objects高级查询方法 ?...(p => p.ToString().Substring(0, 1)); //按首字母排序 var result = arr.OrderBy(p => p.ToString().Substring...(0, 1)).ThenBy(p => p); //2次排序 var t = arr.OrderBy(p => p.ToString().Substring(0, 1)); //对数组进行...var result = from p in t orderby p descending select p; //降序排列 分区类 var result = arr.Skip
var result= from e in Employees where e.Age>50 && e.Salary>8000 orderby e.Age...select e; //等价的扩展方法 var result=Employees .Where(e=>e.Age>50 && e.Salary>8000) .OrderBy...(e=>e.Age) .ThenBy(e=>e.Name) .ThenBy(e=>e.Email); 扩展方法能够提供比LINQ表达式更复杂的查询 //取第26...keyword in a join clause. by Contextual keyword in a group clause. ascending Contextual keyword in an orderby... clause. descending Contextual keyword in an orderby clause.
1 前言 之前的几篇文章介绍了Lambda和Linq的一些支持方法。这一篇我尝试通过模拟具体的业务场景来描述一下Linq的两种查询方式的使用。...,忽略数据来源 List subjects = new List();// 科目列表,忽略数据来源 List exams = new List...();// 考试列表,忽略数据来源 2 查询演示 预先介绍一个概念,C#中有一种类型叫做匿名类型。...students.OrderBy(t => t.Age).ThenBy(t=>t.Name);//ThenByDescending 是降序版的ThenBy // 查询表达式 var results =...以上是基础篇Linq的全部内容。
orderby … descending Enumerable.OrderByDescendingQueryable.OrderByDescending ThenBy 按升序执行次要排序。...orderby …, … Enumerable.ThenByQueryable.ThenBy ThenByDescending 按降序执行次要排序。...Enumerable.ReverseQueryable.Reverse 查询表达式语法示例 主要排序示例 主要升序排序 下面的示例演示如何在 LINQ 查询中使用 orderby 子句按字符串长度对数组中的字符串进行升序排序...使用多个 from 子句 Enumerable.SelectManyQueryable.SelectMany 查询表达式语法示例 选择 下面的示例使用 select 子句来投影字符串列表中每个字符串的第一个字母...如果你具有一个 City 对象列表,并且要查找每个城市中的所有客户,则可以使用联接运算完成此项查找。 LINQ 框架中提供的 join 方法包括 Join 和 GroupJoin。
= null)) 27 .OrderBy(item => item.Category.Code) 28 .ThenBy(item => item.PRCapability.AllowNumeric.GetValueOrDefault...from a in arra:从arra数组中选择元素,并表示为a。...select a: 选择a元素。...] select 临时变量中被查询的值 [group by 条件] Lambda表达式的书写格式如下: (参数列表) => 表达式或者语句块 其中:参数个数:可以有多个参数,一个参数...1 select * from student order by Class DESC 2 Linq: 3 from s in Students 4 orderby s.CLASS descending
一、Linq应用场景 linq的语法通过System.Linq下面的Enumerable类提供支持,也就是说,只要是实现了IEnumerable的对象都可以使用Linq的语法来查询。...LINQ定义了大约40个查询操作符,如select、from、in、where、group by 以及order by,通过查看源代码,实际上linq为IEnumerable实现了一系列的扩展方法...where r.ZhiFuQuDao== "支付宝" orderby r.HospitalID...OrderBy(r => r.HospitalID)....ThenBy(r => r.Type). ThenByDescending(r => r.Moneys ).
$(‘.downlist’).eq($(“.retrie dt a”).index($(this)[0])).show();
{ return db.Set().Where(whereLambda).OrderByDescending(orderLambda1).ThenBy...Top个数 双排序 + List GetListBy(int top, Expression> whereLambda, System.Linq.Expressions.Expression...(orderLambda1).ThenBy(orderLambda2).Take(top).AsNoTracking().ToList(); }...(orderByLambda1).ThenBy(orderByLambda2).Where(whereLambda).Skip((pageIndex - 1) * pageSize).Take(pageSize...(isAsc2) { return db.Set().OrderByDescending(orderByLambda1).ThenBy
orderby=age,birthplace desc 在 ASP.NET Core 中实现排序,与过滤和查询一样,通过对查询字符串中的排序项进行解析,然后在分页操作之前,将它们指定的排序方式进行排序,...子句来实现查询 if (parameters.SortBy == "Name") { queryableAuthors = queryableAuthors.OrderBy(author =>...author.Name); } 由于 LINQ 的 OrderBy 扩展方法不支持直接使用字符串,当资源支持多个排序字段时,一一判断比较繁琐,而且在进行后续排序时,还应该使用 ThenBy 子句,使得判断更加复杂...,幸运的是可以借助第三方库 System.Linq.Dynamic.Core 实现动态 LINQ 查询 System.Linq.Dynamic.Core 除了支持直接使用属性名排序之外,还支持多属性排序...finalExpression); return source; } } } 在 Sort 逻辑内部中,通过解析得到最终的排序表达式,并使用 System.Linq.Dynamic.Core
(原创:灰灰虫的家http://hi.baidu.com/grayworm) LinQ to Objects是LinQ家庭的核心,其它的LinQ也使用了与LinQ to Objects相同的查询句法。...LinQ to SQL、LinQ to DataSets、LinQ to Entities和LinQ to XML则不是把查询表达式转换成MSIL,而是把查询表达式树转换成相应的特定查询语言。...LinQ to SQL会生成T-SQL,LinQ to Entities会生成eSQL,LinQ to XML会生成XPath语句等。 LinQ标准查询操作符列表 ?...《图2》 在左边选择示例,右侧上方会出现相应的LinQ代码,右侧下方会出现代码的运行结果。通过这个样例程序,我们可以学习LinQ的各种用法。...、OrderByDescending、ThenBy、ThenByDescending和Reverse OrderBy:升序排序 OrderByDescending:降序排序 ThenBy:在OrderBy
: http://www.cnblogs.com/lifepoem/archive/2011/11/18/2253579.html http://www.cnblogs.com/heyuquan/p/Linq-to-Objects.html...我们应该用ThenBy来组合排序。 ? ? 不错不错,正是我们想要的效果。如果你不想用ThenBy,且都是升序的话,我们也可以: ? ? 生成的sql是一样的。...与OrderBy、ThenBy对应的降序有OrderByDescending、ThenByDescending。 看似好像很完美了。其实不然,我们大多数情况排序是动态的。...要是OrderBy可以直接传字符串??? 解决方案: guget下载System.Linq.Dynamic 导入System.Linq.Dynamic命名空间 编写OrderBy的扩展方法 ?
三、排序操作符 排序操作符,包括OrderBy、OrderByDescending、ThenBy、ThenByDescending和Reverse,提供了升序或者降序排序。 1....OrderBy OrderBy操作符将序列中的元素按照升序排列。...用法与OrderBy相同,这里不再演示。 3. ThenBy ThenBy操作符实现按照次关键字对序列进行升序排列。...在LINQ中,这个过程通过Concat操作符来实现。...ToDictionary ToDictionary操作符根据指定的键选择器函数,从IEnumerable创建一个Dictionary。
八、Lambda表达式 Lambda表达式是比匿名方法更简洁的一种匿名方法语法 九、标准查询运算符 标准查询运算符:定义在System.Linq.Enumerable类中的50多个为IEnumerable...查询投射:返回新对象集合IEnumerable Select() 统计数量int Count() 多条件排序 OrderBy().ThenBy().ThenBy() 集合连接 Join
为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了。但是只支持了一些简单的、常用的条件查询,支持的力度很有限。...特别是遇到对聚合对象的查询时,就不能再使用 Linq,而只能通过构造底层查询树的接口来完成了。由于开发者的聚合查询的需求越来越多,所以本周我们将这部分进行了增强。...接下来,本文将说明 Rafy 框架原来支持的 Linq 语法,以及最新加入的聚合查询支持及用法。...方法:Where、OrderBy、OrderByDescending、ThenBy、ThenByDescending、Count。...(); q = q.Where(book => book.ChapterList.Concrete().Any(c => c.Name == chapterName)); q = q.OrderBy
基本的选择语法 获得product中,所有的产品的所有信息(注意p是一个别名,可以随意命名): From p in products select p SQL: select * from products...name from products order by name ThenBy子句必须永远跟在Orderby之后。...上面的查询将会被编译器改写为: myCarsEnum.OrderBy(c => c.PetName.Length).Select(c => c.PetName)。...在查询表达式和点标记之间做出选择 很多人爱用点标记,点标记这里指的是用普通的C#调用LINQ查询操作符来代替查询表达式。点标记并非官方名称。...有时候我们需要从数据库中选择几列作为结果,此时匿名类型的存在使得我们不需要为了这几列去辛辛苦苦的建立一个新的类型(除非它们经常被用到,此时你可能就需要一个ViewModel层)。
下拉列表 在布局文件中使用Spinner控件 <Spinner android:layout_width="match_parent" android:layout_height...Spinner s; //声明控件 private String[] dataSource = new String[]{"IT STUDIO", "waydrow", "taylor"}; //列表数组...s.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,dataSource)); //生成下拉列表.../*添加列表选择监听器*/ s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()...> parent, View view, int position, long id) { System.out.println("用户选择的是 "+ dataSource
领取专属 10元无门槛券
手把手带您无忧上云