Для тех, кто предпочитает методы LINQ (с лямбда-выражениями), вот Ответ Дмитрия Матвеева , преобразованный:
var result = array
.Select((value, index) => new { Value = value, Index = index })
.GroupBy(i => i.Index / chunkSize, v => v.Value);
Если вам нужен только массив value
вместо IGrouping<T1, T2>
, добавьте следующее:
.Select(x => x.ToArray())