【发布时间】:2023-03-18 21:12:01
【问题描述】:
我有一个项目列表(不确定它们是偶数还是奇数)。我想做的是,在这对 5(实际上是一个列表)中提取记录,创建另一个列表并将这对 5 个列表插入到该新列表中。
谢谢
我可以通过这样做创建一组项目
MyList
.Zip(Enumerable.Range(0, MyList.Count()),
(s, r) => new {
Group = r / 5,
Item = s })
.GroupBy(i => i.Group,
g => g.Item)
.ToList();
但我想生成一个嵌套列表。
【问题讨论】:
-
你想做什么?如果您想一次创建 5 个项目的批次,有更简单、更快捷的方法。事实上,MoreLinq 已经为此提供了一个函数
-
你能举例说明结果应该是什么吗?
-
您能提供一个示例吗?假设,你有一个
List<int> == {1, 2, 3, 4, 5, 6, 7, 8},请问你想要的结果是什么? -
我有一个包含 100 个项目的列表。我想每 5 个项目选择一次,然后列出这 5 个项目,这样最后我就有一个 20 个项目的列表,每个项目本身都有 5 个项目。假设我有 List
== {obj1, obj2, obj3, ...obj20} 我需要的结果是 list = { {{obj1, obj2, ...obj5}, {obj6, obj7, ...obj10}, {obj11, obj12, ...obj15}, {obj16, obj17...obj20} } -
也许只需在最终的
.ToList()之前插入.Select(grp => grp.ToList())。grp将是继承IEnumerable<>的IGrouping<,>类型,因此grp.ToList()是有效的。
标签: c# collections