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. 什么是查询?它有什么用途? “ ...
随机推荐
- [Javascript] Write a function pipeline
const _pipe = (f, g) => (...args) => g(f(...args)) export const pipe = (...fns) => fns.redu ...
- UIPasteboard粘贴板:UIlabel开启复制粘贴功能(一)
首先,因为苹果只放出来了 UITextView,UITextField,webView三个控件的剪贴板,所以一般控件的剪贴板都被禁用了,因此,我们首先要做的就是把这属性放出来,其实就是实现三个简单的方 ...
- HDU 树型dp
HDU 4123 Bob's Race 题意:定义每个点的值为它到树上最远点的距离,每次询问q,回答最长的极值差小于等于q且编号连续的一段点的长度. 题解:求距离两次dp,求极值ST表+尺取法. HD ...
- 【p093】细胞分裂
Time Limit: 1 second Memory Limit: 128 MB [问题描述] Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家.现在,他正在为一个细胞实验做准备工作 ...
- 项目构建之maven篇:6.生命周期与插件
项目生命周期 清理 初始化 编译 測试 打包 部署 三套生命周期 1.clean pre-clean 运行一些须要在clean之前完毕的工作 clean 移除全部上一次构建生成的文件 post-cle ...
- java基础——try catch final
1.不管有木有出现异常,finally块中代码都会执行: 2.当try和catch中有return时,finally仍然会执行: 3.finally是在return后面的表达式运算后执行的(此时并没有 ...
- 【32.89%】【codeforces 574D】Bear and Blocks
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- htmlunit 模拟登录 无验证码
1.模拟登录csdn,最开始的时候使用的是httpclient,网上的所有模拟登录csdn的版本都是找到lt/execution/event_id.连同用户名及密码 一起发送即可,但是目前的csdn的 ...
- 求 1~n 之间素数的个数
求1到n之间素数的个数 1. 筛选法 筛选掉偶数,然后比如对于 3,而言,筛选掉其整数倍数:(也即合数一定是某数的整数倍,比如 27 = 3*9) int n = 100000000; bool fl ...
- 【44.19%】【codeforces 727C】Guess the Array
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...