有没有什么方法可以将项目索引作为每个拆分的分隔符List<SomeObject>分成几个单独的列表SomeObject?
让我举例说明:
我有一个List<SomeObject>,我需要一个List<List<SomeObject>>或List<SomeObject>[],所以这些结果列表中的每一个将包含一组3个原始列表项(顺序).
例如.:
原始清单: [a, g, e, w, p, s, q, f, x, y, i, m, c]
结果列表: [a, g, e], [w, p, s], [q, f, x], [y, i, m], [c]
我还需要将结果列表大小作为此函数的参数.
有没有一种很好的方法可以n使用LINQ 将集合拆分为多个部分?当然不一定均匀.
也就是说,我想将集合划分为子集合,每个子集合包含元素的子集,其中最后一个集合可以是不规则的.
如何获取List(使用LINQ)并将其分解为每隔8个条目分区原始列表的列表列表?
我想像这样的东西会涉及Skip和/或Take,但我仍然是LINQ的新手.
编辑:使用C#/ .Net 3.5
编辑2:这个问题的措辞不同于其他"重复"问题.虽然问题是相似的,但这个问题的答案是优越的:"接受"的答案都非常可靠(包括yield声明)以及Jon Skeet建议使用MoreLinq(在"其他"问题中不推荐使用).有时复制是好的,因为它们迫使重新检查问题.