gpt4 book ai didi

c# - 如何使用 Linq 连接 GroupBy 的结果

转载 作者:太空宇宙 更新时间:2023-11-03 21:10:44 24 4
gpt4 key购买 nike

假设您有项目列表并且您想要对它们进行分区,对一个分区进行操作并将分区连接回列表。

例如,有一个数字列表,我想按奇偶性对它们进行分区,然后反转赔率并与偶数连接。 [1,2,3,4,5,6,7,8] -> [7,5,3,1,2,4,6,8]

听起来很简单,但我一直坚持合并两个组。您将如何使用 LINQ 来实现?

IEnumerable<int> result = Enumerable.Range(0, 1000)
.GroupBy(i => i % 2)
.Select(p => p.Key == 1 ? p.Reverse() : p)
.??? // need to concatenate

编辑

[1,2,3] 是数组的表示形式,我想作为结果而不是输出,如果我对此感到困惑,抱歉。

最佳答案

GroupBy方法返回 IEnumerable<IGrouping<TKey, TSource>> .作为IGrouping工具 IEnumerable , 你可以使用 SelectMany连接多个 IEnumerable<T>实例合二为一。

Enumerable.Range(0, 1000)
.GroupBy(i => i % 2)
.Select(p => p.Key == 1 ? p.Reverse() : p)
.OrderByDescending(p => p.Key)
.SelectMany(p => p);

关于c# - 如何使用 Linq 连接 GroupBy 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37918745/

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