LINQ查询表达式---------orderby子句

LINQ可以按元素的一个或多个属性对元素进行排序。

class Program
{
public class PerInfo
{
public int Id
{
get;
set;
}
public string Name
{
get;
set;
}
public int Age
{
get;
set;
}
} static void Main(string[] args)
{
List<PerInfo> perInfos = new List<PerInfo>
{
new PerInfo{Id = , Name = "小日", Age = },
new PerInfo{Id = , Name = "小月", Age = },
new PerInfo{Id = , Name = "张三日", Age = },
new PerInfo{Id = , Name = "李四月", Age = }
}; //1、对Id大于1的元素按升序排列
var query1 = from q in perInfos
where q.Id >
orderby q.Id ascending
select q;
Console.WriteLine("按Id升序排列:");
foreach (var item in query1)
{
Console.WriteLine(" {0} {1}", item.Id, item.Name);
} //2、对Id大于1的元素按降序排列
var query2 = from q in perInfos
where q.Id >
orderby q.Id descending
select q;
Console.WriteLine("\n按Id降序排列:");
foreach (var item in query2)
{
Console.WriteLine(" {0} {1}", item.Id, item.Name);
} //3、按年龄大小排列,按名字字数进行次要排序
var query3 = from q in perInfos
orderby q.Age ascending, q.Name.Length descending
select q;
Console.WriteLine("\n按Age升序,按名字字数进行次要降序:");
foreach (var item in query3)
{
Console.WriteLine(" {0} {1} {2}", item.Id, item.Name, item.Age);
} //4、分组按组建排序
var query4 = from q in perInfos
group q by q.Age into Newpers
orderby Newpers.Key descending
select Newpers;
Console.WriteLine("\n分组排序:");
foreach (var item in query4)
{
Console.WriteLine("分组-排序键:{0}", item.Key);
foreach (var v in item)
{
Console.WriteLine(" {0} {1} {2}", v.Id, v.Name, v.Age);
}
} Console.ReadLine(); }
}
输出结果:
按Id升序排列:
2 小月
3 张三日
4 李四月 按Id降序排列:
4 李四月
3 张三日
2 小月 按Age升序,按名字字数进行次要降序:
1 小日 15
3 张三日 17
2 小月 17
4 李四月 23 分组排序:
分组-排序键:23
4 李四月 23
分组-排序键:17
2 小月 17
3 张三日 17
分组-排序键:15
1 小日 15

  

LINQ查询表达式---------orderby子句的更多相关文章

  1. LINQ查询表达式---------join子句

    LINQ查询表达式---------join子句 join 子句接受两个源序列作为输入. 每个序列中的元素都必须是可以与另一个序列中的相应属性进行比较的属性,或者包含一个这样的属性. join子句使用 ...

  2. LINQ查询表达式---------let子句

    LINQ查询表达式---------let子句 let子句创建一个范围变量来存储结果,变量被创建后,不能修改或把其他表达式的结果重新赋值给它.此范围变量可以再后续的LINQ子句中使用. class P ...

  3. LINQ查询表达式---------group子句

    LINQ查询表达式---------group子句 LINQ表达式必须以from子句开头,以select或group子句结束.使用guoup子句来返回元素分组后的结果.group 子句返回一个 IGr ...

  4. LINQ查询表达式---------select子句

    LINQ查询表达式---------select子句 1.1常见的select子句查询 class Program { public class PerInfo { public int Id { g ...

  5. LINQ查询表达式---------where子句

    LINQ查询表达式---------where子句 where 子句用在查询表达式中,用于指定将在查询表达式中返回数据源中的哪些元素. 它将一个布尔条件(“谓词”)应用于每个源元素(由范围变量引用), ...

  6. LINQ查询表达式---------from子句

    LINQ查询表达式---------from子句 LINQ的查询由3基本部分组成:获取数据源,创建查询,执行查询. //1.获取数据源 List<, , , , , }; //创建查询 var ...

  7. 2.3 LINQ查询表达式中 使用select子句 指定目标数据

    本篇讲解LINQ查询的三种形式: 查询对象 自定义查询对象某个属性 查询匿名类型结果 [1.查询结果返回集合元素] 在LINQ查询中,select子句和from子句都是必备子句.LINQ查询表达式必须 ...

  8. LINQ查询表达式---------into

    LINQ查询表达式---------into into 上下文关键字创建一个临时标识符,以便将 group.join 或 select 子句的结果存储到新的标识符 class Program { pu ...

  9. LINQ查询表达式(1) - 查询表达式基础

    LINQ包括五个部分:LINQto Objects.LINQ to DataSets.LINQ to SQL.LINQ to Entities.LINQ to XML. 什么是查询?它有什么用途? “ ...

随机推荐

  1. php如何实现读取网易有道词典输出单词的xml格式并且转化为html形式

    php实现读取网易有道词典输出单词的xml格式并且转化为html形式 一.总结 一句话总结:将xml中的文件用preg_match_all读出来,然后组合成想要的数据 1.explode除了爆炸的意思 ...

  2. 学习鸟哥的Linux私房菜笔记(17)——Linux引导流程

    一.系统引导流程 第一步:固件fireware(CMOS/BIOS)--POST加点自检(与操作系统无关) 这一步主要是检查硬盘等硬件是否能正常工作 CMOS:是固化在主板上,详细:http://sc ...

  3. reflect(反射)了解一点点

    A a = new A() 这个代码在程序编译阶段,会自己主动定位到A类上,而且新建一个A的实例. 可是假设我们希望程序在执行时.动态的创建一个A的实例.此时程序仅仅知道要从名字叫A的类中创建一个实例 ...

  4. 【bzoj2002】弹飞绵羊(分块)

    题目分析 题意:每个点都有一个值$v_i$,从一个点出发,每走到一个点,会跳到i+vi的位置,问需要跳多少次能跳出n?带修改. 此题可以用lct做,此处使用了分块:将序列分块后,每个点记录从此点最少跳 ...

  5. 【t006】三角形分形描绘问题

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 分形是以多种概念和方法相互冲击融合为特征的图形.分形所呈现的无穷玄机和美感引发人们去探索.分形使人们觉悟 ...

  6. 关于java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccessible

    <span style="font-size:18px;"> java.lang.NoSuchMethodError: org.springframework.util ...

  7. 用Ruby实现的论坛灌水工具:CC98 Post Machine

    介绍 ZJU 的校网论坛 CC98 比较活跃.论坛只对校内网开放,而且账号跟学生绑定,每个学生注册的账号数量有限.『十大』是 CC98 的经典页面:基于关注的人数(回帖的用户数而不是回帖的数量)用算法 ...

  8. Swift语言高速入门

    Swift语言高速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著   ISBN 978-7-121-24328-8 201 ...

  9. ajax的跨域请求问题:减少options请求

    服务器端在Response Headers里添加字段Access-Control-Max-Age: 86400 , "Access-Control-Max-Age"表明在86400 ...

  10. 将普通java工程转换成maven工程

    在MyEclipse10中将Maven项目转成普通Java项目后,想将Java项目转成Maven项目,结果一下子傻眼了.根本就没有攻略中提到的config标签.仔细一看,喵咪的,人家用的是Eclips ...