LINQ查询表达式---------orderby子句
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子句的更多相关文章
- LINQ查询表达式---------join子句
LINQ查询表达式---------join子句 join 子句接受两个源序列作为输入. 每个序列中的元素都必须是可以与另一个序列中的相应属性进行比较的属性,或者包含一个这样的属性. join子句使用 ...
- LINQ查询表达式---------let子句
LINQ查询表达式---------let子句 let子句创建一个范围变量来存储结果,变量被创建后,不能修改或把其他表达式的结果重新赋值给它.此范围变量可以再后续的LINQ子句中使用. class P ...
- LINQ查询表达式---------group子句
LINQ查询表达式---------group子句 LINQ表达式必须以from子句开头,以select或group子句结束.使用guoup子句来返回元素分组后的结果.group 子句返回一个 IGr ...
- LINQ查询表达式---------select子句
LINQ查询表达式---------select子句 1.1常见的select子句查询 class Program { public class PerInfo { public int Id { g ...
- LINQ查询表达式---------where子句
LINQ查询表达式---------where子句 where 子句用在查询表达式中,用于指定将在查询表达式中返回数据源中的哪些元素. 它将一个布尔条件(“谓词”)应用于每个源元素(由范围变量引用), ...
- LINQ查询表达式---------from子句
LINQ查询表达式---------from子句 LINQ的查询由3基本部分组成:获取数据源,创建查询,执行查询. //1.获取数据源 List<, , , , , }; //创建查询 var ...
- 2.3 LINQ查询表达式中 使用select子句 指定目标数据
本篇讲解LINQ查询的三种形式: 查询对象 自定义查询对象某个属性 查询匿名类型结果 [1.查询结果返回集合元素] 在LINQ查询中,select子句和from子句都是必备子句.LINQ查询表达式必须 ...
- LINQ查询表达式---------into
LINQ查询表达式---------into into 上下文关键字创建一个临时标识符,以便将 group.join 或 select 子句的结果存储到新的标识符 class Program { pu ...
- LINQ查询表达式(1) - 查询表达式基础
LINQ包括五个部分:LINQto Objects.LINQ to DataSets.LINQ to SQL.LINQ to Entities.LINQ to XML. 什么是查询?它有什么用途? “ ...
随机推荐
- JavaStuNote 4
装箱(inbox)和拆箱(outbox) 代表了类类型和基本类型之间的转换行为. 手动版本号: Integer b = new Integer(10); Int a = b.intValue; 自己主 ...
- 前端调用百度API
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- js进阶-9-3/4 form对象有哪些常用属性
js进阶-9-3/4 form对象有哪些常用属性 一.总结 一句话总结: 1.一般html标签有哪些常用属性:name id value 2.form对象有哪些常用属性(特有):action meth ...
- 【t008】钱币变换问题
Time Limit: 2 second Memory Limit: 32 MB [问题描述] 给定 2*n 个方格,将其排成一行.选择两个相邻的方格,设置为空方格,初始时不放钱币.而其余的方格共放入 ...
- Tomcat下ajax请求路径总结
ajax的url有两种,一种是绝对路径,另一种是相对路径. 一.绝对路径:包括协议名称.主机地址.端口.web项目名称等的完整请求路径. 例如: $.ajax({ url:"ht ...
- 【物理】概念的理解 —— Phase(相位)
Phase is the position of a point in time (an instant) on a waveform cycle. 相位指的是波形周期中点在某一时刻的位置.Phase ...
- 【22.73%】【codeforces 606D】Lazy Student
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- WPF的逻辑树与视觉树(2)Visual容器
原文:WPF的逻辑树与视觉树(2)Visual容器 一.摘要 虽然我们平时几乎不会从该类派生,但要想了解视觉树就必须要了解Visual,Visual是一个基本抽象类,继承自DependencyOb ...
- WPF依赖属性(续)(1)
原文:WPF依赖属性(续)(1) 之前有写过几篇文章,详细地介绍了依赖属性的基本使用方法,如果你不想了解其内部实现机制的话,那么通过那两篇文章的介绍,足以应付平时的应用 ...
- 在内部架设NuGet服务器(转)
在公司内部有很多基础框架或者基础组件,甚至对于使用SOA架构的公司来说,会有大量的业务组件的契约程序集,对于这些框架或组件的引用管理有的人使用源代码管理工具,但是NuGet相比源代码管理工具更方便: ...