- 浏览: 504500 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (329)
- [发布至博客园首页] (12)
- [随笔分类][01] .Net X (59)
- [随笔分类][20] Architecture (16)
- [随笔分类][21] Developer Logs (13)
- [网站分类]Windows 7 (1)
- [随笔分类][13] Oracle & .Net (7)
- [随笔分类][16] Love in China (14)
- [随笔分类][15] Development Tools (20)
- [随笔分类][18] Windows Phone (12)
- [随笔分类][12] Design & Pattern (17)
- [网站分类].NET新手区 (22)
- [网站分类]首页候选区 (2)
- [随笔分类][08] Windows (Server) (13)
- [随笔分类][02] CSLA.Net (3)
- [随笔分类][10] jQuery & javaScript (10)
- [随笔分类][11] SQL Server (4)
- [随笔分类][22] Enterprise Logs (3)
- [随笔分类][03] News (9)
- [随笔分类][19] Quality Assurance (2)
- [随笔分类][05] Silverlight (20)
- [随笔分类][14] Google Earth & .Net (6)
- [网站分类]非技术区 (9)
- [随笔分类][07] WWF (2)
- [随笔分类][04] SharePoint (1)
- [随笔分类][20] Analysis & Design (36)
- [随笔分类][06] WCF (5)
- [随笔分类][12] Architecture (1)
- [随笔分类][09] WPF (0)
- [随笔分类][17] VStudio & Expression (5)
最新评论
-
zhangyy130:
你好,我关于第二段的那个表视图、模型与图这三者的关系我没有看明 ...
UML模型的组成 -
guji528:
谢谢分享!
Enterprise Architect 基础应用 -
studentsky:
好文章,图文并茂!
WCF 第一个用 Visual Studio 2010 创建的WCF服务 -
chen975311486:
用哪个工具画的????
UML中对关系的描述 (二) -
frankies:
继续学习中。。
UML 交互概述图
要对序列排序,前面使用了 orderby 子句。下面复习一下前面使用 orderby descending 子句的例子。其中
赛手按照赢得比赛的次数进行降序排序,赢得比赛的次数是用关键字选择器指定的:
private static void Ordering() { var racers = from r in Formula1.GetChampions() where r.Country == "Brazil" orderby r.Wins descending select r; foreach (var racer in racers) { Console.WriteLine("{0:C}: {0:L}, {0:F}", racer); //属性名的第一个字母 } }
orderby 子句解析为 OrderBy()方法,orderby descending 子句解析为OrderBy Descending()方法:
var racers = Formula1.GetChampions().
Where(r = > r.Country == "Brazil").
OrderByDescending(r = > r.Wins).
Select(r = > r);
OrderBy() 和 OrderByDescending ()方法返回 IOrderEnumerable<TSource>。这个接口派生于接口
IEnumerable<TSource>,但包含一个额外的方法CreateOrderedEnumerable- <TSource>()。
这个方法用于进一步给序列排序。
如果根据关键字选择器来排序,两项的顺序相同,就可以使用 ThenBy()和 ThenByDescending ()方法继续排序。
这两个方法需要 IOrderEnumerable<TSource>才能工作,但也返回这个接口。
所以,可以添加任意多个 ThenBy()和 ThenByDescending ()方法,对集合排序。
使用 LINQ 查询时,只需把所有用于排序的不同关键字(用逗号分隔开)添加到orderby 子句中。
这里,
所有的赛手先按照国家排序,再按照姓氏排序,最后按照名字排序。
添加到 LINQ 查询结果中的Take()扩展方法用于提取前 10 个结果:
private static void Ordering() { var racers = (from r in Formula1.GetChampions() orderby r.Country, r.LastName, r.FirstName select r).Take(10); foreach (var racer in racers) { Console.WriteLine("{0:C}: {0:L}, {0:F}", racer); //属性名的第一个字母 } }
Lambda表达式 使用OrderBy()和 ThenBy()方法可以执行相同的操作:
private static void Ordering() { var racers = Formula1.GetChampions(). OrderBy(r => r.Country). ThenBy(r => r.LastName). ThenBy(r => r.FirstName). Take(10); foreach (var racer in racers) { Console.WriteLine("{0:C}: {0:L}, {0:F}", racer); //属性名的第一个字母 } }
发表评论
-
LINQ to SQL语句之Insert/Update/Delete操作
2009-12-30 14:54 1145Insert/Update/Delete操作 插入(Ins ... -
RabbitMQ 安装配置和简单实例
2010-01-21 16:52 1874安装ErLang运行环境 配置运行环境变量 启动服务 ... -
MSMQ(Microsoft Message Queue,微软消息队列) Asp.Net 简单示例
2010-01-22 14:59 3289系统: Windows XP 1.安装MSMQ 控制面板—&g ... -
IromPython .Net 的简介和第一个例子
2010-01-23 18:53 1365.Net 4 都已经到来 ... -
Microsoft Asp.Net MVC 从入门到精通
2010-01-27 17:53 866ASP.NET MVC Framework是微软官方提供的MV ... -
C# Socket 同步通信与异步通信 示例
2010-01-30 17:50 4759同步 1.建立链接发送和获取信息 异步 1.服务器端建立一 ... -
解决 Visual Stuido 工具栏中的工具重置后,恢复回来。
2009-12-18 17:06 1296拿DevExpress 控件为例,如果重置工具栏后,以前的工具 ... -
LINQ to SQL 用O/R设计器手工建表对象
2009-10-11 22:04 1060除了自己建立定制对象外,还可以使用O/R设计器以可视化的方式创 ... -
LINQ to XML .Net 3.5 中的新XML对象
2009-10-15 14:11 914System.Xml.Linq 命名空间中,有一系列新的LIN ... -
LINQ to XML 用 LINQ 查询 XML
2009-10-15 15:57 690将一个已知的XML放到XDocument 对象当中使用LINQ ... -
LINQ to XML 操作XML文档
2009-10-15 17:18 1013使用 XDocument 对象的 Element 方法,获取制 ... -
C# 编码规范
2009-10-15 19:20 749陈年的文档,不过很不错整理出来发到博客上,还有更多的朋友需要。 ... -
Visual Studio 项目模板、文件模板、代码段和环境设置
2009-10-15 19:31 964很久前使用过,那个时候还没有开始写博客,好久不用就都忘记了,这 ... -
ADO.NET Entity Framework 概述
2009-10-16 11:50 593ADO.NET Entity Framework 与 LINQ ... -
LinqPad 1.31 下载
2009-01-14 15:42 1000LinqPad 1.31 也许你已经非常熟悉他了,为即将使用L ... -
jQuery 的第一个例子
2009-01-18 10:34 825通过这个例子可以对jQuery的使用有个基本的认识,jQ ... -
jQuery 选择器的使用
2009-01-18 10:39 868jQuery 能如此的流行,很重要的一点也许就是他有非常强大且 ... -
一次从GridView 获得多个指定行中多个指定控件的值
2009-01-20 07:33 894一次从GridView 获得多个指定行中多个指定控件的值,非常 ... -
jQuery 的Ajax应用(1)--学习篇,内附实例
2009-01-28 21:48 1353下面以前台jQuery,后天C# 的方式,演示了,如何通过 ... -
Enterprise Library 4.1 一步一步从入门到精通(未完成)
2009-02-05 23:04 910Enterprise Library 4.1 一步一步从入门到 ...
相关推荐
排序操作符是LINQ中另一组重要的操作符,主要包括`OrderBy`、`OrderByDescending`、`ThenBy`和`ThenByDescending`以及`Reverse`。`OrderBy`按照升序对序列进行排序,而`OrderByDescending`则是降序。例如,`OrderBy...
"LINQ标准查询操作符[收集].pdf"这份文档详细介绍了LINQ查询中的核心组件——标准查询操作符。 标准查询操作符是一系列静态方法,它们作为扩展方法应用到 IEnumerable 和 IQueryable 接口上,使得开发者能够以声明...
### LINQ标准查询操作符详解 #### 一、投影操作符 **1. Select** - **定义**: `Select`操作符用于对集合中的每个元素应用指定的函数,并将结果返回为一个新的序列。此操作通常用来从原始数据集中提取特定属性或...
### LINQ标准查询操作符详解 #### 一、投影操作符 **1. Select** `Select` 是一种常用的投影操作符,它允许我们基于输入序列中的每个元素创建一个新序列。这种操作通常用来改变序列中元素的数据类型或者提取特定...
### Linq操作符27个常用说明 #### 1. Where 操作符 - **功能描述**:`Where` 操作符用于筛选出输入集合中符合特定条件的元素,并将其组织成一个新的序列。 - **应用场景**:当你需要从现有集合中筛选出一部分满足...
这类操作符包括`Where`(过滤)、`OrderBy`(排序)、`ThenBy`(次要排序)、`GroupBy`(分组)等。`Where`用于筛选满足条件的元素,`OrderBy`和`ThenBy`负责对结果进行升序或降序排序,而`GroupBy`则根据指定的键...
DynamicQueryable库由Scott Guthrie创建,它提供了对各种常见的Linq操作符的动态版本,如Where、Select、OrderBy等。 以下是一些关于DynamicQueryable和Linq的关键知识点: 1. **动态表达式**:在C#中,`System....
4. 执行查询:最后,使用`ToList()`, `FirstOrDefault()`, 或其他LINQ操作符执行查询。这将把表达式树编译为委托并执行,动态地应用到你的数据源上。 在实际应用中,反射与LINQ结合的例子可能包括以下场景: - ...
- **LINQ操作符**:包括`Select`、`Where`、`OrderBy`、`GroupBy`等,它们允许我们对数据进行过滤、选择、排序和分组。 ## 2. LINQ to Objects - **对象查询**:LINQ to Objects直接对内存中的对象集合进行查询,...
2. **查询操作符**:LINQ的方法语法由一系列链式调用的查询操作符组成,每个操作符执行特定的查询任务。例如,`Where`用于过滤数据,`Select`用于转换数据,`GroupBy`用于分组数据,`Join`用于联接数据,`OrderBy`和...
3. **Ordering Operators(排序 OrderBy)**:OrderBy和ThenBy用于对数据进行排序,可以按升序或降序排列,对于复杂的数据集,可以指定多个排序标准。 4. **Aggregate Operators(聚合函数)**:如Sum、Average、...
在高级查询中,`OrderBy` 和 `ThenBy` 操作符用于对数据进行排序,而 `GroupBy` 和 `Having` 则用于数据的分组和过滤。 `OrderBy` 操作符允许我们根据一个或多个属性对集合进行排序。例如,`orderby e.HireDate` 将...
// 使用LINQ操作符筛选、排序和投影 var sortedAndFiltered = numbers.Where(n => n > 10).OrderBy(n => n).Select(n => n * 2); // XML查询示例 XDocument doc = XDocument.Load("data.xml"); var names = ...
- **排序**: `OrderBy`和`ThenBy`用于对数据进行升序排序,可以配合`Descending`进行降序排序。 - **数据分区**: `GroupBy`用于按指定键进行分组,`Take`和`Skip`用于获取或跳过前n个元素,`TakeWhile`和`SkipWhile`...
9. **排序**:OrderBy和ThenBy方法可用于对数据进行升序或降序排序。 10. **投影**:Select操作符允许将查询结果转换为另一种类型,这在对象模型与数据模型不匹配时非常有用。 如果“Linq_example_2”这个文件是一...
### LINQ操作符 1. **选择操作符**:`Select()`用于根据指定的条件转换或选择元素,而`SelectMany()`则用于选择多个集合中的元素。 2. **过滤操作符**:`Where()`用于筛选满足条件的元素,可以配合Lambda表达式...
OrderBy操作用于对查询结果进行排序,可以按单一字段进行升序或降序排序,也可以使用ThenBy进行多字段排序。GroupBy和Having操作符则是将数据分组,并允许我们对分组后的数据进行操作,例如计算每个组的最大值、...
OrderBy操作符用于对数据进行排序,它可以是简单形式,也可以是带条件形式,支持降序排序。ThenBy和ThenByDescending用于实现多条件排序,而GroupBy形式则用于根据某一列的值对数据集进行分组。 6. GroupBy/Having...