LINQ操作符使用指南
1. SelectMany操作符
部分LINQ提供程序为 SelectMany 操作符定义了额外的重载,这些重载会将元素索引传递给第一个lambda表达式。不过,关于索引操作符的常见注意事项同样适用。虽然示例代码能展示 SelectMany 的大致功能,但它并非精确的实现,不同的提供程序可能采用不同的优化策略。例如,数据库通常支持笛卡尔积,某些提供程序可能会基于此来实现 SelectMany 。
2. 排序操作
一般情况下,LINQ查询不会保证结果的顺序,除非显式指定排序规则。可以在查询表达式中使用 orderby 子句来指定排序规则,示例如下:
IOrderedEnumerable<Course> q = from course in Course.Catalog
orderby course.PublicationDate ascending
select course;
编译器会将 orderby 子句转换为对 OrderBy 方法的调用,如果指定了降序排序,则会调用 OrderByDescending 方法。对于区分有序和无序集合的源类型,这些操作符会返回有序类型。
超级会员免费看
订阅专栏 解锁全文
957

被折叠的 条评论
为什么被折叠?



