2

对于任意对象集合,遵循两个 LINQ 表达式是否总是给出相同的结果(假设 LINQ 提供程序相同):

  1. var result = list.OrderBy(x => x.FirstName).Where(x => x.Age > 18);

  2. var result = list.Where(x => x.Age > 18).OrderBy(x => x.FirstName);

4

1 回答 1

1

虽然Enumerable<T>.OrderBy()被指定为稳定排序Queryable<T>.OrderBy()但不是。

换句话说,不,因为不能保证排序是稳定的,所以不能保证这两个查询对所有提供者都给出相同的结果。至少,结果可能以不同的顺序排列。

于 2013-06-01T14:38:48.497 回答