здесь Я нашел другое linq-решение:
int[] source = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int i = 0; int chunkSize = 3; int[][] result = source.GroupBy(s => i++ / chunkSize).Select(g => g.ToArray()).ToArray(); //result = [1,2,3][4,5,6][7,8,9]