gpt4 book ai didi

c# - 如何将 IOrderedEnumerable 转换为 IOrderedQueryable

转载 作者:行者123 更新时间:2023-11-30 14:12:34 24 4
gpt4 key购买 nike

调用 AsQueryable()IOrderedEnumerable 上在 IEnumerable 上调用扩展方法并返回 IQueryable而不是 IOrderedQueryable .

这对我来说真的没有意义。我想应该有一个 AsQueryable IOrderedEnumerable 上的扩展方法返回 IOrderedQueryable .

所以我的问题分为两部分:

  1. 是否应该有一个 public static IOrderedQueryable<TElement> AsQueryable<TElement>(this IOrderedEnumerable<TElement> source)扩展方法?如果不是,为什么?

  2. 您目前如何转换 IOrderedEnumerableIOrderedQueryable

    IOrderedEnumerable<string> orderedEnumerable = new List<string>().OrderBy(s => s);

    IOrderedQueryable<string> orderedQueryable = // how can I convert orderedEnumerable here?

最佳答案

  1. 老实说,我无法回答这个问题。问题是AsQueryable()IEnumerable 上定义接口(interface),覆盖它可能是一个问题。您或许可以定义自己的 AsOrderedQueryable()相当容易地扩展。

  2. 您必须在调用 AsQueryable() 后应用排序.所以new List<string>().AsQueryable().OrderBy(s => s);将返回 IOrederedQueryable<string> .

编辑:所以关于你原来的问题,你会写

IOrderedQueryable<string> orderedQueryable = orderedEnumerable.AsQueryable().OrderBy(s => s);

有点迂回,不过关系就是你转一个IEnumerableIOrderedEnumerable使用 OrderBy , 然后你改变 IQueryableIOrderedQueryable通过相同的方法。 IOrderedEnumerable 之间不存在直接的转换方法和 IOrderedQueryable据我所知。

关于c# - 如何将 IOrderedEnumerable 转换为 IOrderedQueryable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17215349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com