这似乎是一个显而易见的问题,可能会有关于此主题的先前问题,如果必要,请指出并关闭,因为我找不到它们。
是否有任何Linq扩展方法返回元素本身的有序序列?我知道它可以通过以下方式实现:
IEnumerable<int> myIntegers = new int[]{4, 6, 34, 987, -13};
IEnumerable<int> myOrderedIntegers = myIntegers.OrderBy(i => i);
我不喜欢这样,对于这么简单的操作来说似乎太冗长了。我知道我也可以这样做:
List<int> myOtherOrderedIntegers = myIntegers.ToList();
myOtherOrderedIntegers.Sort();
但是...再见...推迟评估,甚至更加冗长。我可以编写我的扩展方法,如...
public static IEnumerable<T> Order<T>(this IEnumerable<T> elements) => elements.OrderBy(e => e);
public static IEnumerable<T> OrderDescending<T>(this IEnumerable<T> elements) => elements.OrderByDescending(e => e);
是否已有可以实现此简单操作的Linq扩展方法?我发现它已经没有实施了。
提前致谢。
答案 0 :(得分:1)
Is there any other, less verbose method than myIntegers.OrderBy(i => i)
? Like myIntegers.Order()
? No there is not. You can write them yourself if you want to, you already pasted the code. You will have to live with the 8 bytes of wasted space in your source.