是否可以在不使用OrderBy的情况下将一个IEnumerable转换为IOrderedEnumerable?
是否可以在不使用OrderBy的情况下将一个IEnumerable转换为IOrderedEnumerable?
假设有一个扩展方法,可以根据一个SortMethod
枚举指定的多种排序方式(例如按不同的属性排序)来对IQueryable进行排序。
public static IOrderedEnumerableOrderByX(this IQueryable values, SortMethod? sortMethod) { IOrderedEnumerable queryRes = null; switch (sortMethod) { case SortMethod.Method1: queryRes = values.OrderBy(a => a.Property1); break; case SortMethod.Method2: queryRes = values.OrderBy(a => a.Property2); break; case null: queryRes = values.OrderBy(a => a.DefaultProperty); break; default: queryRes = values.OrderBy(a => a.DefaultProperty); break; } return queryRes; }
在sortMethod
为null
的情况下(即指定不关心值的顺序),是否有一种方法可以不用执行实际的排序,而是直接将IEnumerator
值按照它们的顺序传递?
我希望能够调用这个扩展方法,然后可能执行一些额外的ThenBy
排序。