Dividir un arreglo en bloques

Crea una función que divida un arreglo de enteros en bloques consecutivos de tamaño n, donde n es la longitud solicitada de cada bloque.

Ejemplos

Program.Chunkify(new[] { 2, 3, 4, 5 }, 2) // new[] { new[] { 2, 3 }, new[] { 4, 5 } }

Program.Chunkify(new[] { 2, 3, 4, 5, 6 }, 2) // new[] { new[] { 2, 3 }, new[] { 4, 5 }, new[] { 6 } }

Program.Chunkify(new[] { 2, 3, 4, 5, 6, 7 }, 3) // new[] { new[] { 2, 3, 4 }, new[] { 5, 6, 7 } }

Program.Chunkify(new[] { 2, 3, 4, 5, 6, 7 }, 1) // new[] { new[] { 2 }, new[] { 3 }, new[] { 4 }, new[] { 5 }, new[] { 6 }, new[] { 7 } }

Program.Chunkify(new[] { 2, 3, 4, 5, 6, 7 }, 7) // new[] { new[] { 2, 3, 4, 5, 6, 7 } }

Notas

  • Conserva el bloque final incluso cuando tenga menos de n valores.
  • Los enteros de entrada siempre tendrán un solo dígito.