【发布时间】:2014-04-02 22:54:20
【问题描述】:
我有一个包含 x 个项目的列表。我希望得到一个基于数字而不是属性对该列表进行分组的结果。
例如。
我有一个包含 8 个项目的列表。我想将它们按 3 分组。 我想得到一个包含三个列表的列表,其中前两个列表包含三个项目,最后一个列表包含其余两个。
我想要一个比这更优雅的解决方案:
private static List<List<string>> GroupBy(List<string> pages, int groupSize)
{
var result = new List<List<TrimlinePage>>();
while (!(result.Count != 0 && result.Last().Count % 3 > 0))
{
int skip = result.Count*groupSize;
var group = pages.Skip(skip).Take(groupSize).ToList();
result.Add(group);
}
return result;
}
【问题讨论】: