有没有一种很好的方法n使用LINQ 将集合拆分为多个部分?当然不一定是均匀的。
n
也就是说,我想将集合划分为子集合,每个子集合包含元素的子集,最后一个集合可能参差不齐。
纯粹的linq和最简单的解决方案如下所示。
static class LinqExtensions { public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> list, int parts) { int i = 0; var splits = from item in list group item by i++ % parts into part select part.AsEnumerable(); return splits; } }