相关疑难解决方法(0)

是否可以在不使用OrderBy的情况下将IEnumerable转换为IOrderedEnumerable?

假设有一种扩展方法可以根据SortMethod枚举指定的几种类型的排序(即按各种属性排序)来订购IQueryable .

public static IOrderedEnumerable<AClass> OrderByX(this IQueryable<AClass> values,
    SortMethod? sortMethod)
{ 
    IOrderedEnumerable<AClass> 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;
}
Run Code Online (Sandbox Code Playgroud)

sortMethodis 的情况下null(即指定我不关心值的顺序),是否有一种方法来代替通过某个默认属性排序,而只是将IEnumerator值传递为"有序"而不是必须执行实际排序?

我希望能够调用此扩展,然后可能执行一些额外的ThenBy排序.

c# linq ienumerable iorderedenumerable

26
推荐指数
2
解决办法
7028
查看次数

标签 统计

c# ×1

ienumerable ×1

iorderedenumerable ×1

linq ×1