Estoy tratando de dividir una colección en varias colecciones mientras mantengo un ordenamiento que tengo en la colección. He intentado usar el siguiente método de extensión, pero los rompe incorrectamente. Básicamente, si tuviera que mirar los artículos en la colección, el orden debería ser el mismo en comparación con las colecciones rotas unidas. Aquí está el código que estoy usando eso no funciona:División de la colección C# en partes iguales, manteniendo el orden
public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> list, int parts)
{
int i = 0;
var splits = from name in list
group name by i++ % parts into part
select part.AsEnumerable();
return splits;
}
- partes int = número de sub enumerables
posible duplicado de la [Lista de reparto LINQ en listas de 8 miembros.] (Http://stackoverflow.com/questions/3773403/linq-partition-list-into-lists- of-8-members) –
@Kirk Woll: No es lo mismo, en la pregunta que usted dio el método de extensión toma el número máximo de elementos en un sub enumerable mientras que aquí, según tengo entendido, hemos deseado el número de subenumerables. –
@Andrew, tiene razón, veo que es el punto –