【发布时间】:2011-04-15 23:06:03
【问题描述】:
如何获取一个列表(使用 LINQ)并将其分解为一个列表列表,每 8 个条目对原始列表进行分区?
我想这样的事情会涉及 Skip 和/或 Take,但我对 LINQ 还是很陌生。
编辑:使用 C# / .Net 3.5
Edit2:这个问题的措辞与其他“重复”问题不同。尽管问题相似,但这个问题的答案更胜一筹:“接受”的答案非常可靠(带有yield 声明)以及 Jon Skeet 建议使用 MoreLinq(在“其他”中不推荐)问题。)有时重复是好的,因为它们会强制重新检查问题。
【问题讨论】:
-
您使用的是 VB 还是 C#?迭代器的存在有很大的不同。
-
这不是重复的。另一个问题想要将列表分解为每个第 n 个元素的子列表,因此包含元素 0、8、16、24 等的列表和包含元素 1、9、17、25 等的列表和列表包含元素 2、10、18 等。这个用户想要分成一个 0..7 的列表、一个 8..15 的列表和一个 16..24 的列表,类似于分页
标签: linq partitioning skip take