gpt4 book ai didi

c# - 将一个大的 IEnumerable 分成固定数量的项目的较小的 IEnumerable

转载 作者:太空狗 更新时间:2023-10-29 19:48:53 24 4
gpt4 key购买 nike

为了支持只接受特定数量项目(5 个项目)的 API,我想将 LINQ 结果转换为更小的项目组,这些项目始终包含该设定数量的项目。

假设列表 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}

我想获得三个较小的列表,每个列表最多包含 5 个项目

{1, 2, 3, 4, 5}

{6, 7, 8, 9, 10}

{11, 12, 13, 14, 15}

{16, 17, 18}

我如何使用 LINQ 做到这一点?我假设它涉及 GroupAggregate,但我不知道如何编写它。

最佳答案

尝试这样的事情:

var result = items.Select((value, index) => new { Index = index, Value = value})
.GroupBy(x => x.Index / 5)
.Select(g => g.Select(x => x.Value).ToList())
.ToList();

它的工作原理是根据项目在原始列表中的索引将项目分组。

关于c# - 将一个大的 IEnumerable 分成固定数量的项目的较小的 IEnumerable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5172390/

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