《数据结构域算法设计C基础教程 查询 筛选、排序、联接及子查询》由会员分享,可在线阅读,更多相关《数据结构域算法设计C基础教程 查询 筛选、排序、联接及子查询(9页珍藏版)》请在金锄头文库上搜索。
1、C#基础教程 查询 筛选、排序、联接及子查询,13.4.5 筛选、排序和联接 在 from 开始子句以及 select 或 group 结束子句之间,所有其他子句(where、join、orderby、from、let)都是可选的。任何可选子句都可以在查询正文中使用零次或多次。,1. where 子句 使用 where 子句可以根据一个或多个谓词表达式筛选掉源数据中的某些元素。以下示例中的 where 子句含有两个谓词。,IEnumerable queryCityPop = from city in cities where city.Population 100000 select city
2、;,2. orderby 子句 使用 orderby 子句可以按升序或降序对结果进行排序。我们还可以指定次要排序顺序。下面的示例使用 Area 属性对 country 对象执行主要排序,然后使用 Population 属性执行次要排序。,IEnumerable querySortedCountries = from country in countries orderby country.Area 500000, country.Population descending select country; ascending 关键字是可选的;如果未指定顺序,则它是默认排序顺序。,3. join 子句 使用 join 子句可以根据每个元素中指定键之间的相等比较,对一个数据源中的元素与另外一个数据源中的元素进行关联和/或组合。在 LINQ 中,联接操作是针对其元素具有不同类型的对象序列执行的。,85 开 发,,在联接两个序列之后,必须使用 select 或 group 语句指定要存储到输出序列中的元素。还可以使用匿名类型将每组关联元素中的属性组合为输出序列的新类型。,